Я переместил решение VS2008 ASP.NET MVC VS2010/MVC2/.NET 4.0 сборки решения локально и вся передача модульных тестов.
Нашим сервером TFS является все еще TFS2008, и у меня есть проблемы, заставляя сборку CI передать.
Проекты вся сборка успешно, модульные тесты все выполнение и передача, но Рабочие Тестовые сбои объекта.
Я следовал за этим сообщением в блоге о том, как получить работу сборки, и я почти там.
При расчесывании файла журнала для отказов я нашел следующее:
Test Run Completed.
Passed 1101
------------
Total 1101
Results file: C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\TestResults\apptemetrybuild_ATT15DEV01 2010-04-27 09_09_59_Any CPU_Release.trx
Test Settings: Default Test Settings
Waiting to publish...
Publishing results of test run apptemetrybuild@ATT15DEV01 2010-04-27 09:09:59_Any CPU_Release to http://att15tfs01:8080/...
.....Publish completed successfully.
Command:
D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe /nologo /searchpathroot:"C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\Binaries\Release" /resultsfileroot:"C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\TestResults" /testcontainer:"C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\Binaries\Release\\Attenda.Stargate.Security.Tests.dll" /publish:"http://att15tfs01:8080/" /publishbuild:"vstfs:///Build/Build/149" /teamproject:"Client Portal 3" /platform:"Any CPU" /flavor:"Release"
The "TestToolsTask" task is using "MSTest.exe" from "D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe".
Loading C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\Binaries\Release\\Attenda.Stargate.Security.Tests.dll...
C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\Binaries\Release\\Attenda.Stargate.Security.Tests.dll
Could not load file or assembly 'file:///C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\Binaries\Release\Attenda.Stargate.Security.Tests.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. MSBUILD : warning MSB6006: "MSTest.exe" exited with code 1. [C:\Documents and Settings\apptemetrybuild\Local Settings\Temp\Client Portal 3\CI\BuildType\TFSBuild.proj]
The previous error was converted to a warning because the task was called with ContinueOnError=true.
Build continuing because "ContinueOnError" on the task "TestToolsTask" is set to "true".
Done executing task "TestToolsTask" -- FAILED.
Похоже, что это пытается использовать инструмент MSTest 2008 даже при том, что я указал ToolsVersion = "4.0" в tfsbuild.proj и изменил MSBuildPath в TfsBuildService.exe.config на сервере сборки.
Кто-либо может указать на меня в правильном направлении, чтобы заставить это создавать успешно?
Большое спасибо, Nick
Править: Добавление tfsbuild.proj файл
3
ATT15DEV01
Client Portal 3
C:\Documents and Settings\nfoster\Local Settings\Temp\Client Portal 3\CI
\\att15dev01\Builds\Client Portal 3
true
Never
Bug
System.Description=Start the build using Team Build
Build failure in build:
This work item was created by Team Build on a build failure.
The build log file is at:
The errors/warnings log file is at:
true
Release
Any CPU
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe
Я думаю, что вам нужно иметь правильную версию MSTest, установленную на вашем CI-сервере, чтобы это работало.
Если у вас уже есть нужная версия MSTest, убедитесь, что ваш тестовый проект ссылается на Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.0.0.0
Чтобы определить путь MSTest, задача TestToolsTask:
Поэтому, если ваш тестовый проект ссылается на версию 10 и если установлена Visual Studio 2010, MSTest должен вызываться автоматически.
Если у вас установлен TeamBuild версии 3 (файл C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets , имеет свойство TeamBuildVersion ). на 3) вы можете переопределить свойство MSBuild TestToolsTaskToolPath задачи TestToolsTask на новую версию MSTest.
<PropertyGroup>
<TestToolsTaskToolPath>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe</TestToolsTaskToolPath>
</PropertyGroup>
Также необходимо убедиться, что свойство ProjectFileVersion в вашем tfsbuild.proj больше 2.
<ProjectExtensions>
...
<ProjectFileVersion>3</ProjectFileVersion>
...
</ProjectExtensions>