我有一個批處理文件在Visual Studio自定義生成步驟中運行,以將文件複製到安裝目錄中。我希望它在複製失敗時正確地出錯。與我有選擇的問題是:如何在Visual Studio(2008 SP1)項目中從.bat返回錯誤?
exit 1
這個工程構建順序以內罰款,但有時我想通過命令行或從另一個批處理使用批處理文件,並在這些情況下,exit
也會導致調用者退出。exit /b 1
這在命令行或從另一個批處理文件工作得很好,但Visual Studio中不識別的返回碼不是0(即它的報告具有工程「0錯誤(S)」) 。
我碰到那個爲我提供了一個解決方案的鏈接:http://www.nabble.com/Re:-bjam-and-Windows-p17457249.html
本質上,它說我必須做exit /b
之前呼應的錯誤消息。例如,
echo MyProj : error : could not copy files.
有誰知道到底什麼消息格式觸發Visual Studio識別錯誤?
我試過調整這個和一些工作,有些不這樣做。似乎它必須匹配類似
.*\: .*error.*\:
這是否記錄在任何地方?
謝謝。
這是Windows XP Pro SP3上的Visual Studio 2008 SP1(如果cmd.exe
在Windows版本之間有不同的行爲)。
@Owen,我不知道答案,但是如果你指定你正在使用的VS的版本,它可能會有所幫助。答案可能會有所不同,具體取決於VS的確切版本。 – 2009-04-08 00:46:26
好點。這是VS 2008。 – Owen 2009-04-08 01:01:24