MSBuild で DOTNET_CLI_UI_LANGUAGE が考慮される

MSBuild で DOTNET_CLI_UI_LANGUAGE 環境変数が考慮され、コマンド ライン出力に DOTNET_CLI_UI_LANGUAGE で指定された言語が使用されるようになりました。 この変更は、msbuild.exedotnet build、および dotnet msbuild コマンドの出力に影響します。

以前の動作

以前は、DOTNET_CLI_UI_LANGUAGE に関係なく、MSBuild のコマンド ライン出力は常にオペレーティング システム (OS) の言語になり、独自のエンコードが使用されていました。

新しい動作

MSBuild では、コマンド ライン出力に、OS 言語ではなく 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 出力の場合) と OS 言語 (MSBuild 出力の場合) の組み合わせでした。 たとえば、"ビルドの成功/失敗" の出力では OS 言語が使用されました。 この変更により、.NET SDK と MSBuild の出力の言語は一致します。

以前の動作を維持したい場合は、コマンド set DOTNET_CLI_UI_LANGUAGE= (またはお使いのシェルで環境変数を変更するための同様のコマンド) を使って DOTNET_CLI_UI_LANGUAGE の設定を解除します。