2011-03-12 3 views
0

내 구성 :MSTEST 실패 2008

  • VS2010 솔루션
  • TFS 2008
  • 빌드 서버 - TFS 2008
    • 빌드 서버도 VS2008 팀이있다 Suite 및 VS2010 궁극적 인 설치

TFS 2008은 VS2010 솔루션을 올바르게 구축합니다. 그러나 단위 테스트를 실행할 시간이되면 다음과 같은 MsTest 오류가 발생합니다.

어셈블리에서 "TestToolsTask"작업 사용 "D : \ 프로그램 Files \ Microsoft 비주얼 스튜디오 9.0 \ Common7 \ IDE \ PrivateAssemblies \ Microsoft.VisualStudio.QualityTools.MSBuildTasks.dll"를. 작업 "TestToolsTask"명령 :
D : 비주얼 \ 프로그램 Files \ Microsoft 스튜디오 10.0 \ Common7 \ IDE \ MSTest.exe /NOLOGO /searchpathroot : "D가 : \는 \ 응용 프로그램 \ 소스를 구축 \ 86 \ 바이너리 " /resultsfileroot :"D : \ Builds \ App \ Source \ 86 \ TestResults " /testcontainer:"D:\Builds\App\Source\86\Binary*\\Tests.dll" /publish : "http :/tfsServer : 8080/" /publishbuild :"vstfs : /// 빌드/빌드/26029 " /teamproject :"D "에서" " "TestToolsTask MSTest.exe "작업이 을 사용하고"제안 : \ 프로그램 Files \ Microsoft Visu al Studio 10.0 \ Common7 \ IDE \ MSTest.exe "로 변경하십시오.게시하려면 게시 플랫폼이 지정되지 않았습니다. 경고 MSB6006 : "MSTest.exe"는 코드 1 종료 [D를 \ 빌드 \ 애플리케이션 \ 소스 \ 86 \ BuildType \ TFSBuild.proj] 스위치 구문 입력 "MSTEST/도움말" MSBUILD 들어 ContinueOnError = true로 작업이 이라고했기 때문에 이전 오류는 경고로 변환되었습니다. "TestToolsTask"작업의 "ContinueOnError" 이 "true"로 설정되어 있기 때문에 을 계속 빌드하십시오. 실행중인 작업 "TestToolsTask"- FAILED.

MsTest가 실패하게되는 원인이 확실하지 않습니다.

답변

0

제이슨은 올바른 해결책을 제시하는 올바른 아이디어를 가지고있었습니다. 내 경우

, 나는이 "Microsoft.TeamFoundation.Build.ProcessComponents.dll"(VS2010의 DLL) 대신 "Microsoft.VisualStudio.QualityTools.MSBuildTasks을 가리 키도록"Microsoft.TeamFoundation.Build.targets "를 업데이트했다 .dll "(VS2008 dll)

또한 PlatformToBuild가 TfsBuild.proj 파일에 지정되었는지 확인해야했습니다.

이 두 단계가 완료되면 UnitTests는 TFS2008 및 VS2010 솔루션을 사용하여 CI 빌드의 일부로 실행되고있었습니다. 여기 세부에서 솔루션에 대해 블로그에 한

는 : http://blog.aggregatedintelligence.com/2011/03/vs2010-tfs-2008-and-unit-tests.html

2

당신은 TFS2008의 MSBuild를 내에서 VS2010 빌드를 실행할 수있는 빌드 시스템에서 소스를 빌드 서비스 계정에 빌드 폴더에 제공 쓰기 액세스를하지만 사용하고있는 것처럼 보인다 - :

상황이 시도 Visual Studio 9.0 TestToolsTask (2008)를 실행하여 Visual Studio 10.0 (2010) 테스트 프로젝트 (MSTest.exe)를 실행합니다. "9.0"보다는 "Microsoft Visual Studio 10.0"폴더에서 TestToolsTask를 실행하기 위해 MSBuild를 조정하여 전체 프로세스가 동일한 버전의 도구를 사용하도록 시도 할 것입니다. tfsbuild.proj 파일의 Properties에있는 도구 경로를 재정 의하여 정확한 버전의 Visual Studio를 사용하여 빌드 할 수 있습니다. 비슷한 도구가 테스트 도구에 적용될 수 있습니다.

또는 VS2010 테스트 도구를 올바르게 실행 중이지만 여전히 2008 전용 명령 줄을 사용하려고합니다. 설정을 확인하고 명령 줄을 조정할 수 있는지 확인하십시오 (MS 대상 파일을 덮어 쓸 필요가 있음). 2008 버전이라면 빌드를 실행 중입니다). 예를 들어 TFS 2010에서 많은 명령 줄이 단순한 "server : MyServer"를 "collection : http : // MyServer : 8080/tfs/MyCollection"과 같은 것으로 변경되었습니다. 따라서 현재 실행중인 도구의 2010 버전과 완벽하게 호환되도록 명령 줄을 변경해야 할 수 있습니다 (궁극적으로 궁극적으로 2008 서버를 가리키더라도).

제 3의 제안 (반드시 도움이되는 것은 아닙니다)은 TFS2010으로 업그레이드하는 것입니다. 일반적으로 설치가 어려우므로 2008 년보다 훨씬 뛰어나며 하이브리드 2008/2010 설정을 사용하여 발생하는 어려움을 없애줍니다. (도움이된다면, 2005-> 2008 업그레이드가 8 일간의 지옥 이었기 때문에 나는 2010 년으로 업그레이드하기를 꺼렸습니다.하지만 2010 년 업그레이드의 핵심은 몇 시간 만에 "단지 효과가있었습니다"- 설치/업그레이드 프로세스가 훨씬 향상되었습니다.)

+0

당신은 정확했다. 내가해야 할 일은 "Microsoft.TeamFoundation.Build.targets"을 "Microsoft.VisualStudio.QualityTools.MSBuildTasks.dll"대신 "Microsoft.TeamFoundation.Build.ProcessComponents.dll"을 가리 키도록 업데이트하는 것이 었습니다. –