Udostępnij przez


Rejestrator terminalu jest domyślny

Rejestrator terminalu jest teraz domyślnie włączony dla wszystkich sesji terminali "interaktywnych". Rejestrator terminalowy formatuje dane wyjściowe konsoli dla kompilacji inaczej niż rejestrator konsolowy. Aby uzyskać więcej informacji na temat rejestratora terminali, zapoznaj się z opcjami „dotnet build”, w szczególności opcją --tl.

Poprzednie zachowanie

dotnet build i inne polecenia CLI związane z kompilacją domyślnie używały "minimalnego" rejestratora konsoli MSBuild dla kompilacji inicjowanych przez użytkowników.

Nowe zachowanie

Jeśli terminal obsługuje różne funkcje układu i kolorowania, dotnet build oraz inne polecenia CLI związane z kompilacją domyślnie używają Terminal Logger 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.

Wersja wprowadzona

.NET 9 (wersja zapoznawcza 1)

Typ zmiany przełamującej

Ta zmiana jest zmianą behawioralną.

Przyczyna 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 terminali na wczesnym etapie cyklu wydania platformy .NET 9, dzięki czemu nadszedł czas na zebranie opinii na temat jakości i funkcjonalności funkcji.

Jeśli musisz przywrócić logger konsoli, możesz wyłączyć logger 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ą na off.

Interfejsy API, których dotyczy problem

N/A

Zobacz także