共用方式為


MSBuild 尊重 DOTNET_CLI_UI_LANGUAGE

MSBuild 現在會採用 DOTNET_CLI_UI_LANGUAGE 環境變數並使用 DOTNET_CLI_UI_LANGUAGE 所指定的語言進行命令行輸出。 這項變更會影響 msbuild.exedotnet builddotnet 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