2009-03-03 95 views
1

我正在嘗試在批處理文件中創建多個.sln文件。到目前爲止,一切都很好。我試圖在批處理文件中添加一個檢查,所以如果錯誤數大於0,那麼批處理文件將停止執行,並且不會生成下一個.sln文件。我怎樣才能做到這一點?基本上是這樣的:Visual Studio,MS Build

的MSBuild test.sln (檢查是否生成錯誤> 0 停止) 的MSBuild test2.sln

回答

4

MSBUILD將設置ERRORLEVEL,所以沿着線的東西:

msbuild test.sln 
IF NOT ERRORLEVEL 0 exit 1 

編輯:顯然,這應該是:

msbuild test.sln 
IF ERRORLEVEL 1 exit 1 
+0

「not errorlevel 0」始終爲false,因爲「errorlevel 0」始終爲真。 – 2009-03-03 18:01:11

+2

這似乎不適合我。無論是否有錯誤,MSBuild始終返回0的錯誤級別。 – Phil 2011-05-27 16:40:34

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. 
1

在我看來,在這裏使用一個自定義的msbuild文件並且在你的解決方案中使用msbuild任務要容易得多。詳情請見here