У меня есть простой пакетный скрипт, запускающий командную строку в событии предварительной сборки, просто
C:\path\to\batch\script\PreBuildGenANTLR.bat
Пакетный скрипт содержит
@echo off
pushd ..\..\Parser
java -jar ..\ANTLR\antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g
popd
Я пробовал exit 0 exit \b 0 SET ERRORLEVEL = 0, но кажется, что независимо от того, что я делаю, скрипт запускается, но сборка останавливается, и выдаются ошибки с ошибкой MSB3073, выход с кодом -1. Я перепробовал множество других способов, чтобы этот скрипт возвращал ноль, включая шаги, описанные в http://blogs.msdn.com/b/astebner/archive/2006/08/08/691849.aspx. . Еще ничего. Скрипт работает с кучей предупреждений, но без ошибок. Он делает то, что должен, но сборка все равно останавливается и завершается с кодом -1. Что, черт возьми, я делаю неправильно? Как я могу заставить его возвращать ноль и продолжать сборку?
call
загружаете пакетный сценарий из события перед сборкой?call C:\path\PreBuildGenANTLR.bat
Возвращает ли команда java код выхода -1? Можно попробовать поймать код выхода.java -jar ..\ANTLR\antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g || verify >nul
Также в конце скрипта используйтеexit /b 0
. - person David Ruhmann   schedule 06.03.2014