2013-04-18 24 views
2

我有多個項目的解決方案。一個項目只需要建立如果兩個事件,在預生成事件,錯誤代碼0Visual Studio預生成事件;檢查每個事件的退出代碼

因此退出我想我可以做到以下幾點:

「C:\路徑\要\ Binary1.exe」 &‘C:\路徑\爲\ binary2.exe’

在我的測試場景中出現錯誤,從而Binary1.exe用非零值退出。但是,視覺工作室無論如何都在繼續構建項目。 當我在cmd和echo%errorlevel%中運行預生成事件命令行時,我看到退出代碼非零。

當我只能把

「C:\路徑\爲\ Binary1.exe」在預生成事件

,構建停止,在顯示連接錯誤Error List Visual Studio的窗口。

我確定Binary1.exe以非零值退出,因爲它在退出前也顯示一個消息框。

我可以想出一個解決方案。當Binary2.exe以非零退出代碼退出時,Binary1.exe調用Binary2.exe並以非零退出代碼退出。但這不是一個真正靈活的解決方案。

總結: 如何在一個命令返回非零值時運行多個預構建事件並停止構建?

回答

0

如果兩個項目在同一個解決方案中,您可以在Visual Studio中設置依賴項。 右鍵單擊解決方案資源管理器中的解決方案,然後選擇「項目相關性」。

設置'最後'項目取決於前兩項。在這種情況下,Visual Studio將按照正確的順序構建,如果其中一個依賴失敗,將停止構建。 (Visual Studio的2013年)

+0

這無關於項目的依賴。它關於預構建事件,當預構建事件中調用的任何一個可執行文件失敗時應該會失敗。我的問題是關於預生成事件語法(或一般的cmd語法?)。 –

2

我覺得昱歐操作如下:

run command 1 
if ERRORLEVEL 1 (
    exit /b 1 
    ) 
run command 2 
+0

或者你可以像這樣檢查命令shell環境變量'if errorlevel%== 0(Do something)'。 – RBT

相關問題