Rejestrator terminalu jest domyślny
Rejestrator terminalu jest teraz domyślnie włączony dla wszystkich sesji terminali "interaktywnych". Rejestrator terminalu formatuje dane wyjściowe konsoli dla kompilacji inaczej niż rejestrator konsoli. Aby uzyskać więcej informacji na temat rejestratora terminali, zobacz "dotnet build" options (Opcje kompilacji dotnet), w szczególności --tl
opcję.
Poprzednie zachowanie
dotnet build
i inne polecenia interfejsu wiersza polecenia związane z kompilacją domyślnie używały "minimalnego" rejestratora konsoli MSBuild dla kompilacji opartych na użytkownikach.
Nowe zachowanie
Jeśli terminal obsługuje różne funkcje układu i kolorowania, dotnet build
a inne polecenia interfejsu wiersza polecenia związane z kompilacją domyślnie używają rejestratora terminalu dla kompilacji wyzwalanych przez użytkownika. Jeśli polecenie jest częścią skryptu powłoki lub ma dane wejściowe lub wyjściowe przekierowane w jakikolwiek sposób lub jeśli terminal nie obsługuje niektórych rozszerzonych funkcji układu, które ma rejestrator terminalu, nie jest używany rejestrator terminalu.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 1)
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Dane wyjściowe rejestratora terminalu dotyczące postępu kompilacji są bardziej gęste i możliwe do działania niż dane wyjściowe rejestratora konsoli. Zespół MSBuild chce zachęcić do korzystania z rejestratora terminalu na wczesnym etapie cyklu wydawania platformy .NET 9, dzięki czemu nadszedł czas na zebranie opinii na temat jakości i funkcjonalności funkcji.
Zalecana akcja
Jeśli chcesz przywrócić rejestrator konsoli, możesz wyłączyć rejestrator terminalu w następujący sposób:
- Aby wyłączyć rejestrator terminalu dla określonego polecenia, określ
--tl:off
w wierszu polecenia lub za pośrednictwem pliku odpowiedzi MSBuild. - Aby wyłączyć rejestrator terminalu dla wszystkich poleceń, ustaw zmienną
MSBUILDTERMINALLOGGER
środowiskową naoff
.
Dotyczy interfejsów API
Nie dotyczy