У меня странная проблема при создании решения VS2010, вкл. модульные тесты на сервере Team Build 2008. Он создает решение, а также может запускать тест без ошибок, но после запуска теста я получаю следующее предупреждение, которое нарушает сборку:
MSBUILD: предупреждение MSB6003: не удалось запустить указанный исполняемый файл задачи «MSTest.exe». Система не может найти указанный файл [C: \ data \ builds \ FSuite \ CI_Project [Debug] \ BuildType \ TFSBuild.proj] Предыдущая ошибка была преобразована в предупреждение, поскольку задача была вызвана с ContinueOnError = true. Сборка продолжается, поскольку для параметра «ContinueOnError» в задаче «TestToolsTask» задано значение «true».
Кажется, проблема не в том, что MSTest не был найден, я также проверил, находится ли файл TFSBuild.proj на этой локализации - он не отсутствует. Так что же это могло быть?
Изменить: тем временем я выяснил, что наш старый сервер сборки загружен и запускает тестовые сборки один раз.
Результаты...
2387/2387 Сводка пройденных тестов ------- Предупреждение о тестовом запуске. Пройдено 2387 ------------ Всего 2387 файлов результатов: C: \ data \ builds \ FSuite \ V1.0_CI_FSuite [Debug] \ TestResults \ ch06-tfsservice_CH06WL2013302 28.07.2010 11_08_03_x86_Debug.trx
Конфигурация запуска: FSuite Debug Testconfig Run имеет следующие проблемы: предупреждение инструментария покрытия кода при обработке файла MT.FSuite.Joint.Enums.dll: TESTTOOLSTASK: предупреждение VSP2007: C: \ data \ builds \ FSuite \ V1.0_CI_FSuite [Отладка] \ Binaries \ x86 \ Debug \ MT.FSuite.Joint.Enums.dll не содержит инструментального кода. TESTTOOLSTASK: предупреждение: проблема с развертыванием тестового запуска: сборка или модуль DevExpress.RichEdit.v10.1.Core прямо или косвенно упоминается в тестовом контейнере c: \ data \ builds \ fsuite \ v1.0_ci_fsuite [debug] \ binaries \ x86 \ debug \ mt.fsuite.tests.unit.ext.dll 'не найден. Ожидание публикации ... Публикация результатов тестового запуска ch06-tfsservice @ CH06WL2013302 28.07.2010 11: 08: 03_x86_Debug в http://ch06sd01:8080/Build/v1.0/PublishTestResultsBuildService2.asmx ... ................... ............. Публикация успешно завершена. Выполнено выполнение задачи «TestToolsTask».Но новый сервер сборки с VS2010 загружает все тестовые сборки, кроме MT.FSuite.Tests.Unit.Joint.dll, и выполняет тесты, которые выполняются успешно, после чего снова вызывается MSTest с упомянутой сборкой и сбой.
Команда: MSTest.exe / nologo /runconfig:"C:\data\builds\FSuite\CI_FSuite[Debug ]\Sources\Sources\Products\FSuite.Debug.testrunconfig "/ searchpathroot:" C: \ data \ builds \ FSuite \ CI_FSuite [Debug] \ Binaries \ x86 \ Debug "/ resultsfileroot:" C: \ data \ builds \ FSuite \ CI_FSuite [Debug] \ TestResults "/ testcontainer:" C: \ data \ builds \ FSuite \ CI_FSuite [Debug] \ Binaries \ x86 \ Debug \ MT.FSuite.Tests.Unit.Joint.dll "/ publish:" http://ch06sd01:8080/ "/publishbuild:"CI_FSuiteinent_20100728.2" / teamproject: "FSuite" / platform: "x86" / flame: "Debug" Задача "TestToolsTask" использует "MSTest.exe" из "MSTest" .EXE".
Интересно, почему, потому что строка тестового контейнера не изменилась, и, более того, во второй раз она больше не говорит, откуда она получает MSTest.exe ...
Спасибо за помощь, Эни
Хорошо, я нашел источник проблемы. Файл целей TeamBuild (C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets) имеет неправильное значение - замените следующее: