2014-03-06 31 views
0

我已經運行在預生成事件命令行簡單的批處理腳本只是預生成事件退出-1 VS2010

C:\path\to\batch\script\PreBuildGenANTLR.bat

批處理腳本包含

@echo off pushd ..\..\Parser java -jar ..\ANTLR\antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g popd

我已經試過出口0退出\ b 0,SET ERRORLEVEL = 0,但好像不管我做腳本運行,但構建停止,出現了錯誤,錯誤MSB3073退出,代碼爲-1。我嘗試了一些其他的東西來使這個腳本返回零,包括在http://blogs.msdn.com/b/astebner/archive/2006/08/08/691849.aspx概述的步驟。依然沒有。該腳本運行一堆警告,但沒有錯誤。它做它應該做的事情,但是構建停止並且以代碼-1退出。我做錯了什麼?我怎樣才能讓它返回零並繼續構建?

+0

你**'call' **從構建事件前荷蘭國際集團的批處理腳本?調用C:\ path \ PreBuildGenANTLR.bat'是否返回-1退出代碼的java命令?可能嘗試捕獲退出代碼。 'java -jar .. \ ANTLR \ antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g ||驗證> nul'在腳本的末尾使用'exit/b 0'。 –

+0

不,就像我說的那樣,當我從cmd運行腳本時,腳本正在運行並正確執行所有操作,但由於某種原因,當我將它放入vsStudio時,它返回-1 – user3388478

回答

1

在Visual Studio 2010中,所有你需要做的是使用NuGet包管理器安裝Antlr3包(確保標識的包裝上市是正是Antlr3)。安裝軟件包後,編譯語法只需在項目中選擇.g.g3文件並將構建操作屬性設置爲Antlr3