MSBuild 尊重 DOTNET_CLI_UI_LANGUAGE
MSBuild 現在會採用 DOTNET_CLI_UI_LANGUAGE
環境變數並使用 DOTNET_CLI_UI_LANGUAGE
所指定的語言進行命令行輸出。 這項變更會影響 msbuild.exe
、dotnet build
和 dotnet msbuild
命令的輸出。
先前的行為
先前,MSBuild 命令列輸出一律是作業系統 (OS) 語言,並且使用自己的編碼,不論 DOTNET_CLI_UI_LANGUAGE
為何。
新的行為
MSBuild 針對其命令列輸出會使用 DOTNET_CLI_UI_LANGUAGE
所指定的語言,而不是作業系統語言。
在 Windows 上,如果 DOTNET_CLI_UI_LANGUAGE
已設定且支援 UTF-8,則 MSBuild 輸出現在會使用 UTF-8 編碼。
導入的版本
.NET 8 Preview 5
中斷性變更的類型
此變更為行為變更。
變更原因
先前,dotnet build
這類命令的輸出是 DOTNET_CLI_UI_LANGUAGE
語言 (適用於 .NET SDK 輸出) 和作業系統語言 (適用於 MSBuild 輸出) 的混合。 例如,「建置成功/失敗」輸出會使用作業系統語言。 透過這項變更,.NET SDK 和 MSBuild 輸出的語言一致。
建議的動作
如果您想要保留舊的行為,請使用 set DOTNET_CLI_UI_LANGUAGE=
命令 (或讓殼層變更環境變數的類似命令) 來取消設定 DOTNET_CLI_UI_LANGUAGE
。