zu arbeiten Ich habe dies für zukünftige Besucher hinzugefügt, da diese recht ist eine aktive Frage.
ROBOCOPY verlässt mit „Erfolgscodes“, die unter 8. Siehe sind: http://support.microsoft.com/kb/954404
Das bedeutet:
robocopy exit code 0 = no files copied
robocopy exit code 1 = files copied
When the result is 1, this becomes an error exit code in visual studio.
Also ich durch das Hinzufügen dieser auf den Boden dieses leicht von der gelöst Batch-Datei
exit 0
vorschlagen, dass behandeln ROBOCOPY Fehler auf diese Weise
rem each robocopy statement and then underneath have the error check.
if %ERRORLEVEL% GEQ 8 goto failed
rem end of batch file
GOTO success
:failed
rem do not pause as it will pause msbuild.
exit 1
:success
exit 0
Verwirrung gesetzt in, wenn keine Dateien kopiert werden = kein Fehler in VS.Dann, wenn es Änderungen gibt, werden Dateien kopiert, VS-Fehler, aber alles, was der Entwickler wollte, wurde gemacht.
Zusätzlicher Tipp: Verwenden Sie keine Pause im Skript, da dies zu einer unbestimmten Pause im VS-Build führen würde. Verwenden Sie während der Entwicklung des Skripts etwas wie timeout 10
. Sie werden dies bemerken und es kommentieren, anstatt einen hängenden Build zu haben.
in meinem Fall die Antwort Tim Scott am Ende dieser Seite zur Verfügung stellen (so dass ich am Anfang übersehen) mein Problem zu lösen. –