Подтвердить что ты не робот

Unit test проект, не созданный с сервера сборки

В моем решении VS2010 есть тестовый проект. Модуль самостоятельно тестирует ссылку на следующее пространство имен:

using Microsoft.VisualStudio.TestTools.UnitTesting;

доступ к которому осуществляется через следующую сборку на моем ПК:

Assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\
    PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Когда я создаю решение на своем ПК, у меня нет проблем; тесты будут строить и работать нормально.

У нас есть страница интрасети, которую мы можем использовать для запуска сборки на сервере сборки. Когда я создаю эту страницу, сборка выходит из строя со следующими ошибками:

Generator.cs(3,17): error CS0234: The type or namespace name 'VisualStudio' 
does not exist in the namespace 'Microsoft' (are you missing an assembly
reference?)

Очевидной проблемой было бы то, что упомянутый выше Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll не присутствует на сервере сборки. Я думал, что это будет установлено с VS2010, и поскольку проекты в моем решении создают целевые объекты .NET 4.0, я ожидаю, что это будет установлено на сервере сборки.

Каков самый простой способ разрешить это? Сервер сборки не входит в мою компетенцию, и я не хочу регистрировать задание, чтобы установить на него новые библиотеки.

4b9b3361

Ответ 1

.UnitTestFramework.dll находится в папке C:\Program Files..., и у вас есть ссылка на него.

  • Создать каталог под вашим контролем источника, например. Источник/Бинарные
  • Скопировать указанную DLL в источник/бинарные файлы
  • Удалить ссылку на .UnitTestFramework.dll из сборки unit test
  • Добавьте ссылку на .UnitTestFramework.dll на свою сборку unit test, но на этот раз выберите DLL, которая теперь находится в разделе Source/Binaries

После этого вы можете проверить свои изменения (убедитесь, что в папке Source/Binaries указано значение) и постройте решение. Когда сервер сборки строит решение, он должен получить DLL из исходного элемента управления.

Ответ 2

Конкретный ответ для меня и решения Visual Studio 2010: