Stoppen Sie die MSBuild-Verarbeitung sofort bei Kompilierungsfehlern

8

Ich habe eine Batch-Datei geschrieben, die, wenn sie ausgeführt wird, eine visuelle Studio-Lösung erstellt. Die Lösung besteht aus wenigen C # -Projekten. Ich verwende MSBuild-Dienstprogramm für dieses. Wie kann ich verhindern, dass der Build fortschreitet, wenn in einem der Projekte Kompilierungsfehler auftreten? Weiter wie kann ich die Fehlermeldungen erhalten und sie an der Eingabeaufforderung anzeigen?

    
Ananya 15.03.2011, 12:59
quelle

2 Antworten

5

Es gibt keine Unterstützung für den Stopp beim ersten Fehler beim Erstellen einer Visual Studio-Lösung.

Sie können dies umgehen, indem Sie die folgenden Schritte ausführen:

  1. Setzen Sie die Umgebungsvariable msbuildemitsolution auf 1 ( set msbuildemitsolution=1 );
  2. Rufen Sie MSBuild auf, um eine * .proj-Datei von der Ziel-VS-Lösung zu generieren;
  3. Ändern Sie in der generierten * .sln.proj-Datei RunEachTargetSeparately="true" im Ziel namens Build to RunEachTargetSeparately="false" ;
  4. Rufen Sie MSBuild auf, um die aktualisierte * .sln.proj-Datei zu erstellen.

Diese Antwort basiert auf Dan Moseley Antwort zu einem Beitrag in MSDN-Foren .

    
João Angelo 15.03.2011, 13:26
quelle
3

Es wäre einfacher, Ihnen eine Antwort zu geben, wenn Sie relevante Teile Ihrer Batch-Datei gepostet hätten. Dennoch, für Ihren zweiten Teil der Frage, hier ist ein Beispiel, wie ich fast das gleiche Problem in einem unserer Build-Skripte gelöst habe:

%Vor%     
Doc Brown 15.03.2011 13:24
quelle