Indem Sie Befehlszeilenoptionen mit MSBuild verwenden, können Sie angeben, wie viele Builddaten zu überprüfen sind und ob Sie Builddaten in eine oder mehrere Dateien speichern möchten. Sie können auch eine benutzerdefinierte Protokollierung zum Sammeln von Builddaten angeben. Weitere Informationen zu MSBuild-Befehlszeilenoptionen, die in diesem Thema nicht behandelt werden, finden Sie unter Befehlszeilenreferenz.
Wenn Sie ein Projekt mithilfe von MSBuild ohne Angabe einer Detailebene erstellen, werden die folgenden Informationen im Ausgabeprotokoll angezeigt:
Fehler, Warnungen und Nachrichten, die als äußerst wichtig eingestuft werden.
Einige Statusereignisse.
Eine Übersicht des Build.
Mithilfe des Schalters -verbosity ( -v) können Sie steuern, wie viele Daten im Ausgabeprotokoll angezeigt werden. Verwenden Sie für die Problembehandlung entweder den Ausführlichkeitsgrad detailed (d) oder diagnostic (diag), der die meisten Informationen bietet.
Der Buildprozess ist möglicherweise langsamer, wenn Sie -verbosity auf detailed festlegen, und sogar noch langsamer, wenn Sie -verbosity auf diagnostic festlegen.
Windows-Eingabeaufforderung
msbuild MyProject.proj -t:go -v:diag
Einstellungen für die Ausführlichkeit
In der folgenden Tabelle wird gezeigt, wie sich die Ausführlichkeit der Protokolle (Spaltenwerte) darauf auswirkt, welche Nachrichtentypen (Zeilenwerte) protokolliert werden.
Nachrichtentyp/Ausführlichkeit
Quiet
Minimal
Normal
Detailliert
Diagnose
Fehler
✅
✅
✅
✅
✅
Warnungen
✅
✅
✅
✅
✅
Nachrichten mit hoher Priorität
✅
✅
✅
✅
Nachrichten mit normaler Priorität
✅
✅
✅
Nachrichten mit niedriger Priorität
✅
✅
Zusätzliche Informationen zur MSBuild-Engine
✅
Speichern des Buildprotokolls in einer Datei
Sie können den Schalter -fileLogger (fl) verwenden, um Builddaten in einer Datei zu speichern. Im folgenden Beispiel werden die Builddaten in einer Datei mit dem Namen msbuild.log gespeichert.
Windows-Eingabeaufforderung
msbuild MyProject.proj -t:go -fileLogger
Im folgenden Beispiel heißt die Protokolldatei MyProjectOutput.log, und der Ausführlichkeitsgrad der Protokollausgabe ist auf diagnostic festgelegt. Geben Sie diese beiden Einstellungen mithilfe des Schalters -fileLoggerParameters (flp) an.
Speichern der Protokollausgabe in mehreren Dateien
Im folgenden Beispiel wird das gesamte Protokoll in msbuild1.log, nur die Fehler in JustErrors.log und nur die Warnungen in JustWarnings.log gespeichert. Im Beispiel werden Dateinummern für jede der drei Dateien verwendet. Die Dateinummern werden nach den Schaltern -fl und -flp angegeben (z. B. -fl1 und -flp1).
Die Schalter -fileLoggerParameters (flp) für die Dateien 2 und 3 gibt an, wie jede Datei benannt werden und was sie enthalten soll. Es wird kein Name für die Datei 1 angegeben, deshalb wird der Standardname msbuild1.log verwendet.
Wenn Sie eine Shell verwenden, die Semikolons interpretiert (z. B. Bash), setzen Sie jede Option, die Semikolons enthält, in einfache oder doppelte Anführungszeichen, um eine Interpretation als Befehlstrennzeichen zu verhindern. Weitere Informationen finden Sie unter Befehlszeilenreferenz.
Speichern eines binären Protokolls
Sie können das Protokoll mit dem Parameter -binaryLogger (bl) in einem komprimierten, binären Format speichern. Dieses Protokoll enthält eine ausführliche Beschreibung vom Buildprozess und kann mithilfe von bestimmten Protokollanalysetools gelesen werden.
Im folgenden Beispiel wird eine binäre Protokolldatei mit dem Namen binarylogfilename erstellt.
Windows-Eingabeaufforderung
-bl:binarylogfilename.binlog
Sie können die Anzeige für strukturierte Protokolle verwenden, um binäre Protokolle so anzuzeigen, dass sich die Situation viel einfacher beobachten lässt.
Verwenden einer benutzerdefinierten Protokollierung
Sie können eine eigene Protokollierung schreiben, indem Sie einen verwalteten Typ erstellen, der die ILogger-Schnittstelle implementiert. Sie können eine benutzerdefinierte Protokollierung verwenden, um z. B. Buildfehler per E-Mail zu versenden oder sie in einer Datenbank oder in einer XML-Datei zu protokollieren. Weitere Informationen finden Sie unter Buildprotokollierungen.
In der MSBuild-Befehlszeile geben Sie die benutzerdefinierte Protokollierung mithilfe des Schalters -logger an. Sie können auch den Schalter -noconsolelogger verwenden, um die Standardkonsole zu deaktivieren.
In diesem Lernpfad erfahren Sie, wie Sie mit anderen Benutzern zusammenarbeiten können, um Ihre Anwendungen mithilfe von Azure Pipelines und GitHub kontinuierlich zu erstellen, zu testen und zu überprüfen.
Hier erfahren Sie, wie Sie Buildprobleme in Ihrem Visual Studio-Projekt diagnostizieren und ggf. ein Protokoll erstellen können, das zur Untersuchung an Microsoft gesendet wird.
Verwenden Sie MSBuild zum Bereinigen eines Builds, wobei alle Zwischen- und Ausgabedateien gelöscht werden, sodass nur die Projekt- und Komponentendateien beibehalten werden.
Erfahren Sie, wie Sie MSBuild.exe Befehlszeile verwenden, um eine Projekt- oder Lösungsdatei zu erstellen, und mehrere Optionen, die Sie einschließen können.
Erfahren Sie, wie Sie die Befehlszeile MSBuild.exe verwenden, um bestimmte Ziele bestimmter Projekte in Ihren Lösungen zu erstellen und Hilfe zur Problembehandlung zu erhalten.
Erfahren Sie mehr über allgemeine MSBuild-Projekteigenschaften, die in Projektdateien definiert oder verwendet oder in ZIELdateien enthalten sind, die MSBuild bereitstellt.
Führen Sie eine Fehlerdiagnose für MSBuild-Aufgaben durch, indem Sie die fehlerhafte Aufgabe, den Toolnamen und weitere Informationen für die Problembehandlung ermitteln.
Erkunden Sie verschiedene Möglichkeiten, den Buildprozess zu ändern, sodass Sie steuern und anpassen können, wie Ihre Projekte erstellt werden, einschließlich Eigenschaften zum Außerkraftsetzen.