Udostępnij za pośrednictwem


Program MSBuild szanuje DOTNET_CLI_UI_LANGUAGE

Program MSBuild uwzględnia teraz zmienną DOTNET_CLI_UI_LANGUAGE środowiskową i używa języka określonego przez DOTNET_CLI_UI_LANGUAGE dla danych wyjściowych wiersza polecenia. Ta zmiana wpływa na dane wyjściowe msbuild.exepoleceń , dotnet buildi dotnet msbuild .

Poprzednie zachowanie

Wcześniej dane wyjściowe wiersza polecenia MSBuild były zawsze w języku systemu operacyjnego i używały własnego kodowania, niezależnie od DOTNET_CLI_UI_LANGUAGE.

Nowe zachowanie

Program MSBuild używa języka określonego przez DOTNET_CLI_UI_LANGUAGE zamiast języka systemu operacyjnego dla danych wyjściowych wiersza polecenia.

W systemie Windows dane wyjściowe programu MSBuild używają kodowania UTF-8 teraz, jeśli DOTNET_CLI_UI_LANGUAGE jest ustawione, a protokół UTF-8 jest obsługiwany.

Wprowadzona wersja

.NET 8 (wersja zapoznawcza 5)

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Wcześniej dane wyjściowe poleceń, takie jak dotnet build , były kombinacją DOTNET_CLI_UI_LANGUAGE języka (dla danych wyjściowych zestawu SDK platformy .NET) i języka systemu operacyjnego (dla danych wyjściowych MSBuild). Na przykład dane wyjściowe "Kompilacja zakończyła się powodzeniem/niepowodzeniem" używały języka systemu operacyjnego. Dzięki tej zmianie język zestawu .NET SDK i danych wyjściowych msBuild są spójne.

Jeśli chcesz zachować stare zachowanie, usuń ustawienie DOTNET_CLI_UI_LANGUAGE przy użyciu polecenia set DOTNET_CLI_UI_LANGUAGE= (lub podobnego polecenia dla powłoki, aby zmienić zmienne środowiskowe).