Standardmäßige Verwendung der Terminalprotokollierung
Die Terminalprotokollierung ist jetzt standardmäßig für alle interaktiven Terminalsitzungen aktiviert. Die Terminalprotokollierung formatiert die Konsolenausgabe für Builds anders als die Konsolenprotokollierung. Weitere Informationen zur Terminalprotokollierung finden Sie im Artikel zu „dotnet build“ unter Optionen. Hier ist insbesondere die Option --tl
interessant.
Vorheriges Verhalten
dotnet build
und andere buildbezogene CLI-Befehle verwendeten standardmäßig die MSBuild-Konsolenprotokollierung mit minimaler Ausführlichkeit für benutzergesteuerte Builds.
Neues Verhalten
Wenn das Terminal verschiedene Layout- und Farbgebungsfeatures unterstützt, verwenden dotnet build
und andere buildbezogene CLI-Befehle standardmäßig die Terminalprotokollierung für benutzerseitig ausgelöste Buildvorgänge. Wenn der Befehl Teil eines Shellskripts ist oder eine Ein- oder Ausgabe in irgendeiner Weise umgeleitet wurde oder wenn das Terminal einige der erweiterten Layoutfeatures der Terminalprotokollierung nicht unterstützt, wird die Terminalprotokollierung nicht verwendet.
Eingeführt in Version
.NET 9 Preview 1
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Die Ausgabe der Terminalprotokollierung zum Fortschritt eines Buildvorgangs ist informationsreicher und handlungsrelevanter als die Ausgabe der Konsolenprotokollierung. Das MSBuild-Team möchte die Verwendung der Terminalprotokollierung frühzeitig im .NET 9-Releasezyklus fördern, damit genügend Zeit ist, um Feedback zur Qualität und Funktion des Features zu sammeln.
Empfohlene Maßnahme
Wenn Sie zur Konsolenprotokollierung zurückkehren möchten, können Sie die Terminalprotokollierung wie folgt deaktivieren:
- Um die Terminalprotokollierung für einen bestimmten Befehl zu deaktivieren, geben Sie
--tl:off
in der Befehlszeile oder über eine MSBuild-Antwortdatei an. - Um die Terminalprotokollierung für alle Befehle zu deaktivieren, legen Sie die
MSBUILDTERMINALLOGGER
-Umgebungsvariable aufoff
fest.
Betroffene APIs
Nicht zutreffend
Siehe auch
- Optionen im Artikel „dotnet build“
- Terminalprotokollierung