我有一个从 Ant exec 任务调用的批处理脚本来编译一些 CSharp 代码。批处理脚本的结构如下
msbuild.exe %ARGS%
echo %ERRORLEVEL%
现在当任务在 Ant 中运行时,我得到以下结果:
[exec] Time Elapsed 00:00:09.48
[exec] 0
BUILD FAILED
C:\proj\build.xml:410: exec returned: 2
%ERRORLEVEL% 怎么可能是 0,但 Ant 执行程序的返回码是 2?如果命令不返回代码,这是设置了一些默认错误代码吗?蚂蚁文档显示:
error code 2 means 'no such program',
但显然我的批处理文件正在正确执行。
使用 Ant 代码更新
<target name="build.csharp" if="isWindowsPlatform">
<exec executable="cmd.exe" failOnError="true">
<arg value="/c"/>
<arg value="build.csharp.bat" />
</exec>
</target>