Сбой сборки - решение VS2010 на TFS2008

Я переместил решение 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
  

  
    
  

  
    
      
    
    
    
  


9
задан Nick 27 April 2010 в 15:10
поделиться

1 ответ

Я думаю, что вам нужно иметь правильную версию MSTest, установленную на вашем CI-сервере, чтобы это работало.

Если у вас уже есть нужная версия MSTest, убедитесь, что ваш тестовый проект ссылается на Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.0.0.0

Чтобы определить путь MSTest, задача TestToolsTask:

  • проверяет версия сборки Microsoft.VisualStudio.QualityTools.UnitTestFramework , на который ссылается тестовый проект
  • Получите InstallDir Visual Studio, соответствующую версии, просмотрев регистр в HKEY_LOCAL_MACHINE \ Software \ Microsoft \ VisualStudio \ $ (VERSION) .0. Если ключ не существует, он будет использовать путь для версии по умолчанию (9.0 для tfs2008)

Поэтому, если ваш тестовый проект ссылается на версию 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>
1
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: