2009-03-03 5 views
1

배치 파일 내에 여러 .sln 파일을 빌드하려고합니다. 지금까지 모든 것이 훌륭합니다. 배치 파일 내부에 검사를 추가하려고합니다. 오류 수가 0보다 크면 배치 파일이 실행을 멈추고 다음 .sln 파일을 작성하지 않습니다. 어떻게해야합니까? 같은 기본적으로 뭔가 :Visual Studio, MS 빌드

msbuild를 test.sln (체크하면 빌드 오류> 0 정지) 으로 MSBuild test2.sln ERRORLEVEL의 라인을 따라 그렇게 뭔가 설정합니다

답변

4

MSBUILD :

msbuild test.sln 
IF NOT ERRORLEVEL 0 exit 1 

편집 : 분명히 그것은해야한다 :

msbuild test.sln 
IF ERRORLEVEL 1 exit 1 
+0

"errorlevel 0이 아니므로 항상"errorlevel 0 "은 항상 false입니다. –

+2

이것은 나를 위해 작동하지 않는 것 같습니다. MSBuild는 오류 유무에 관계없이 항상 오류 수준 0을 반환합니다. – Phil

1
msbuild.exe test.sln 
if errorlevel 1 goto :errors 

msbuild.exe test2.sln 
if errorlevel 1 goto :errors 

:: ... 

:: Everything was fine. 
echo Build completed without errors. 
goto :eof 

:error 
echo Build failed. 
+0

항상 1을 반환하는지 잘 모르겠습니까? 아니 0이 될 수있는 안전 –

+1

오류 수준은 오류 수준은 1 _higher_의 경우는 true 될 것입니다 1 경우 : 마지막 프로그램 실행 가 종료 코드가 동일한 반환하는 경우 IF [NOT] ERRORLEVEL 숫자 명령이 ERRORLEVEL 번호가 진정한 조건을 지정하거나 숫자가 이상이어야합니다. –

1

내 의견으로는 여기에 사용자 지정 msbuild 파일을 사용하고 솔루션 집합과 함께 msbuild 작업을 사용하는 것이 훨씬 쉽습니다. 자세한 내용은 here을 참조하십시오.