Udostępnij przez


polecenia interfejsu wiersza polecenia dotnet rejestrują dane niezwiązane z poleceniem do narzędzia stderr

Począwszy od platformy .NET 10, niektóre dane wyjściowe poleceń CLI, które nie są kluczowe dla wywoływanego polecenia, emitują do dotnet zamiast do stderr.

Wersja wprowadzona

.NET 10

Poprzednie zachowanie

Wcześniej, komunikaty pierwszego uruchomienia dla interfejsu wiersza polecenia dotnet były emitowane do stdout.

Nowe zachowanie

Począwszy od platformy .NET 10, komunikaty przy pierwszym uruchomieniu dla interfejsu wiersza polecenia dotnet emitowane są do stderr. (W przyszłości więcej komunikatów zostanie poddanych podobnej zmianie).

Typ zmiany przełamującej

Ta zmiana jest zmianą behawioralną.

Przyczyna zmiany

Informacje zapisywane w stdout, które nie są bezpośrednio związane z wywoływanym poleceniem, hamują użycie poleceń w skryptach lub w sytuacjach nieinteraktywnych. W przypadku, gdy dane wyjściowe inne niż główne, takie jak diagnostyka, obszerne komunikaty i powiadomienia przypadkowe są przenoszone do stderr, stdout pozostaje czysty na potrzeby analizowania lub interpretacji.

W przypadku większości użytkowników innych niż program PowerShell ta zmiana nie powinna wymagać żadnej akcji.

W przypadku użytkowników programu PowerShell zalecamy używanie co najmniej programu PowerShell w wersji 7.2, gdzie przekierowywanie do stderr nie ustawia zmiennej programu PowerShell $Error i powoduje, że poprzednie polecenie nie powiodło się.

Interfejsy API, których dotyczy problem

Żaden.