빌드를 구성했는데, 다음과 같은 오류 화면이 나오는 경우가 있습니다.
위의 "Log" 파일을 클릭해 보면, 아래와 같이 "Target CoreTest:" 영역에서 오류가 난 것을 확인할 수 있습니다.
Target CoreTest:
Creating directory "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\TestResults".
__________________________________________________
Project "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\TFSBuild.proj" is building "C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\TFSBuild.proj" (RunTestWithConfiguration target(s)):
Target RunTestWithConfiguration:
TestToolsTask MetadataFile="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\Msdn.MathLibrary\Msdn.MathLibrary.vsmdi" TestLists="Double Tests, Int Tests" SearchPathRoot="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\Binaries\Debug\" PathToResultsFilesRoot="C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\TestResults" PublishServer="http://win2003base:8080/" TeamProject="MSDN Calculator" PublishBuild="Continuous Integration_20060409.6" BuildFlavor="Debug" Platform="Any CPU"
Loading C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\Msdn.MathLibrary\Msdn.MathLibrary.vsmdi...
Search path(s) for tests:
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\BuildType\..\Sources\..\Binaries\Debug\
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\Sources\Msdn.MathLibrary
Search path(s) for default run configuration:
C:\temp\TeamBuild\MSDN Calculator\Continuous Integration\Sources\Msdn.MathLibrary
Starting execution...
MSBUILD : warning : Specified cast is not valid. (지정한 캐스트가 잘못되었습니다.)
The previous error was converted to a warning because the task was called with ContinueOnError=true.
C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning : There are no results to be published.
Build continuing because "ContinueOnError" on the task "TestToolsTask" is set to "true".
Done building target "RunTestWithConfiguration" in project "TFSBuild.proj".
Done building project "TFSBuild.proj".
위의 오류에 대해서 MSDN 을 검색해 보면, 다음과 같은 답이 나옵니다.
MSBUILD: warning : Specified cast is not valid
Make sure that you do not have an empty test list or subtest list included in the build process. If you have empty lists, edit the tfsbuild.proj file to remove them.
즉, 테스트 항목이 비어 있다는 것인데요.
가령 예를 들어, 아래의 예에는 테스트 메서드가 10 개 있을 때의 "Test Manager" 화면을 보여주고 있습니다.
보시는 것처럼, "Test List Full Name" 이 비어 있는 것을 확인할 수 있습니다. 즉, 테스트 메서드만 있을 뿐, 해당 테스트 들이 "Double Test" 또는 "Int Tests" 에는 지정되어 있지 않다는 것입니다. 따라서, "All Loaded Tests" 에 있는 테스트 항목들을 적절하게 선택해서 "Double Test" 또는 "Int Tests"에 끌어다 놓아야 합니다.
모두 완료되었으면 다음과 같은 화면이 됩니다.
이제, 다시 빌드를 시작하면 - 물론, 해당 빌드가 "Double Test" 또는 "Int Tests" 에 대한 단위 테스트를 한다고 지정했던 - 오류가 없이 정상적으로 진행되는 것을 확인하실 수 있습니다.
(Test Manager에서 수정하신 다음, 체크인하는 것 잊지 마십시오. 빌드 서버에서는 체크인 된 소스만 가져갈 수 있습니다.)
Title |
11167 | 정성태 | 3/28/2017 | 25395 | VC++: 112. C++의 가상 함수 테이블 (vtable)은 언제 생성될까요? [2] | |
11166 | 정성태 | 3/28/2017 | 20830 | 오류 유형: 382. System.Data.SqlClient.SqlException - Arithmetic overflow error converting IDENTITY to data type int. | |
11165 | 정성태 | 3/27/2017 | 23766 | 오류 유형: 381. Visual C++에서 min, max 함수를 사용한 경우 C2589, C2059 컴파일 오류 발생 | |
11164 | 정성태 | 3/27/2017 | 32345 | VC++: 111. C++ 클래스의 상속에 따른 메모리 구조 [2] | 1 |
11163 | 정성태 | 3/25/2017 | 21864 | VC++: 110. CreateThread Win32 API에 C++ 클래스의 멤버 함수를 전달하는 방법 | 1 |
11162 | 정성태 | 3/24/2017 | 26396 | 오류 유형: 380. Visual Studio 빌드 실패 - The OutputPath property is not set for project | |
11161 | 정성태 | 3/24/2017 | 17763 | 오류 유형: 379. ICOMAdminCatalog.GetCollection 호출 시 0x80070422 예외 발생 | |
11160 | 정성태 | 3/23/2017 | 23830 | .NET Framework: 649. ASP.NET - Server cannot append header after HTTP headers have been sent. (HTTP 헤더를 보낸 후에는 서버에서 헤더를 추가할 수 없습니다.) | 1 |
11159 | 정성태 | 3/23/2017 | 21102 | Windows: 136. Memory-mapped File은 Private Bytes 크기에 포함될까요? | 1 |
11158 | 정성태 | 3/22/2017 | 19675 | 디버깅 기술: 85. Windbg - SOS 디버깅 사례 System.NullReferenceException 예외 추적 | |
11157 | 정성태 | 3/22/2017 | 23054 | .NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법 | 1 |
11156 | 정성태 | 3/21/2017 | 24590 | .NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법 | 1 |
11155 | 정성태 | 3/21/2017 | 25005 | .NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요? | 1 |
11154 | 정성태 | 3/5/2017 | 31014 | VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2] | 1 |
11153 | 정성태 | 3/5/2017 | 30860 | VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제 | 1 |
11152 | 정성태 | 3/4/2017 | 25613 | VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점 [1] | 1 |
11151 | 정성태 | 3/3/2017 | 25169 | VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1] | 1 |
11150 | 정성태 | 2/21/2017 | 20975 | .NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5] | |
11149 | 정성태 | 2/21/2017 | 24885 | 오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine. | |
11148 | 정성태 | 2/20/2017 | 24031 | .NET Framework: 644. AppDomain에 대한 단위 테스트 시 알아야 할 사항 | |
11147 | 정성태 | 2/19/2017 | 22193 | 오류 유형: 377. Windows 10에서 Fake 어셈블리를 생성하는 경우 빌드 시 The type or namespace name '...' does not exist in the namespace 컴파일 오류 발생 | |
11146 | 정성태 | 2/19/2017 | 21847 | 오류 유형: 376. Error VSP1033: The file '...' does not contain a recognized executable image. [2] | |
11145 | 정성태 | 2/16/2017 | 23193 | .NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기 [4] | 1 |
11144 | 정성태 | 2/6/2017 | 26605 | .NET Framework: 642. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (부록 1) - CallingConvention.StdCall, CallingConvention.Cdecl에 상관없이 왜 호출이 잘 될까요? | 1 |
11143 | 정성태 | 2/5/2017 | 24166 | .NET Framework: 641. [Out] 형식의 int * 인자를 가진 함수에 대한 P/Invoke 호출 방법 | 1 |
11142 | 정성태 | 2/5/2017 | 31976 | .NET Framework: 640. 닷넷 - 배열 크기의 한계 [2] | 1 |