Terminallogger is standaard
De terminallogger is nu standaard ingeschakeld voor alle interactieve terminalsessies. De terminallogger formatteert de console-uitvoer voor builds anders dan de consolelogger. Zie 'dotnet build'-opties voor meer informatie over de terminallogger, met name de --tl
optie.
Vorig gedrag
dotnet build
en andere build-gerelateerde CLI-opdrachten gebruikten standaard de 'minimale' uitgebreidheid msBuild-consolelogger voor door de gebruiker gestuurde builds.
Nieuw gedrag
Als de terminal ondersteuning biedt voor verschillende indelings- en kleurfuncties en dotnet build
andere build-gerelateerde CLI-opdrachten, gebruikt u de terminallogger standaard voor door de gebruiker geactiveerde builds. Als de opdracht deel uitmaakt van een shellscript of als invoer of uitvoer op welke manier dan ook is omgeleid, of als de terminal geen ondersteuning biedt voor een aantal verbeterde indelingsfuncties die terminallogger heeft, wordt de terminallogger niet gebruikt.
Versie geïntroduceerd
.NET 9 Preview 1
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
De uitvoer van de terminallogger over de voortgang van een build is meer informatie dicht en uitvoerbaar dan de uitvoer van de consolelogger. Het MSBuild-team wil het gebruik van terminallogger vroeg in de releasecyclus van .NET 9 aanmoedigen, zodat er tijd is om feedback te verzamelen over de kwaliteit en functionaliteit van de functie.
Aanbevolen actie
Als u wilt terugkeren naar de consolelogger, kunt u de terminallogger uitschakelen op de volgende manieren:
- Als u terminallogger wilt uitschakelen voor een specifieke opdracht, geeft u
--tl:off
op de opdrachtregel of via een MSBuild-antwoordbestand op. - Als u terminallogger wilt uitschakelen voor alle opdrachten, stelt u de
MSBUILDTERMINALLOGGER
omgevingsvariabele in opoff
.
Betrokken API's
N.v.t.