MS Build не компилирует MS Test Project на сервере сборки - PullRequest
7 голосов
/ 03 августа 2011

Я использую TFS 2008 и VS 2010. После добавления проекта MS Test в мое решение я начал получать следующие ошибки на сервере сборки.

UnitTest1.cs (5,40): ошибкаCS0234: тип или имя пространства имен «UnitTesting» не существует в пространстве имен «Microsoft.VisualStudio.TestTools» (отсутствует ссылка на сборку?) UnitTest1.cs (22,17): ошибка CS0246: имя типа или пространства имен «TestContext 'не найден (вам не хватает директивы using или ссылки на сборку?) UnitTest1.cs (28,16): ошибка CS0246: не удалось найти тип или имя пространства имен' TestContext '(отсутствует директива usingили ссылка на сборку?) UnitTest1.cs (62,10): ошибка CS0246: Не удалось найти тип или имя пространства имен «TestMethod» (отсутствует директива using или ссылка на сборку?) UnitTest1.cs (62,10): ошибка CS0246: не удалось найти тип или имя пространства имен «TestMethodAttribute» (отсутствует директива using или ссылка на сборку?) UnitTest1.cs (12,6):ошибка CS0246: не удалось найти тип или имя пространства имен «TestClass» (отсутствует директива using или ссылка на сборку?) UnitTest1.cs (12,6): ошибка CS0246: не удалось имя типа или пространства имен «TestClassAttribute»быть найденным (отсутствует директива using или ссылка на сборку?) Завершено выполнение задачи "Csc" - СБОЙ.

Я установил VS 2010 на сервере сборки, но все равно остались те же ошибки.

Ответы [ 3 ]

7 голосов
/ 05 декабря 2012

Проблема в ваших тестовых проектах. вы ссылаетесь на некоторые сборки, которые не были развернуты на сервере сборки. Также вы не можете сделать это, просто скопировав и вставив в GAC или рабочий каталог.

Лучший и самый простой способ сделать это - установить Агенты Visual Studio 2010 на сервере сборки. Это бесплатно, и его можно скачать с веб-сайта MS. После установки агентов будут установлены все необходимые библиотеки для компиляции и даже запуска проектов MSTest.

2 голосов
/ 20 октября 2011

Вы можете проверить, правильно ли вы используете MSBuild. В моем случае, когда я получаю сообщения, такие как:

'TestMethod' could not be found

Мы должны были убедиться, что у нас установлена ​​правильная версия MSBuild.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe your_solution.sln /t:rebuild /t:Rebuild  /clp:ErrorsOnly

Это также исправляет некоторые проблемы с Microsoft.VisualStudio.QualityTools.UnitTestFramework .dll

0 голосов
/ 26 апреля 2012

Ваши теги упоминают VS2010 и TFS2008. По умолчанию проекты модульных тестов настроены на .NET 4.0, и Team Build 2008 не будет знать, как с ними справиться. Вы должны настроить свои тестовые проекты на .NET 3.5 (это можно сделать только если вы установили VS2010 SP1). Или обновите TFS 2008 до TFS2010.

Если вы хотите запустить инструменты тестирования с TFS 2008, вам также следует установить Visual Studio Team Developer или Suite на агенте сборки. Visual Studio 2010 вам не поможет.

...