Warum muss ein Ant Exec-task return-code nicht mit ERRORLEVEL-Wert?

Habe ich ein batch-Skript namens von Ant exec-task zum kompilieren einige CSharp code. Das batch Skript ist in der folgenden Weise gegliedert

msbuild.exe %ARGS%
echo %ERRORLEVEL%

Nun, wenn Sie die Aufgabe ausführen, Ant, erhalte ich das folgende Ergebnis:

 [exec] Time Elapsed 00:00:09.48
 [exec] 0

 BUILD FAILED
 C:\proj\build.xml:410: exec returned: 2

Wie ist es möglich, dass %ERRORLEVEL% ist 0, aber die Ant exec wird ein return-code von 2? Ist dies eine Standard-Fehler-code gesetzt, wenn der Befehl nicht zurück, wird ein code? Ant docs zeigen:

error code 2 means 'no such program',

Aber klar meine batch-Datei ausgeführt wird, richtig.

Update mit Ant Code

<target name="build.csharp" if="isWindowsPlatform">
    <exec executable="cmd.exe" failOnError="true">
        <arg value="/c"/>
        <arg value="build.csharp.bat" />
    </exec>
</target>
  • Könnte Sie post einige oder alle Ihrer build.xml Datei? Ich hatte ein ähnliches problem, wo ich war, den Versuch zu starten, exe über Eigenschaften wie <property name="Notepad++.Dir" value="C:/Program Files (x86)/Notepad++/" />, aber ich habe dann einfach den vollständigen Pfad direkt in den exec-Befehl, und es öffnete die exe ist für mich kein problem!!!
  • noch meine ant-code
InformationsquelleAutor cmcginty | 2013-02-20
Schreibe einen Kommentar