O MSBuild respeita DOTNET_CLI_UI_LANGUAGE

O MSBuild agora respeita a variável de ambiente DOTNET_CLI_UI_LANGUAGE e usa a linguagem especificada por DOTNET_CLI_UI_LANGUAGE para sua saída de linha de comando. Essa alteração afeta a saída dos comandos msbuild.exe, dotnet builde dotnet msbuild.

Comportamento anterior

Anteriormente, a saída da linha de comando do MSBuild estava sempre na linguagem do SO (sistema operacional) e usava sua própria codificação, independentemente de DOTNET_CLI_UI_LANGUAGE.

Novo comportamento

O MSBuild usa a linguagem especificada por DOTNET_CLI_UI_LANGUAGE em vez da linguagem do sistema operacional para sua saída de linha de comando.

No Windows, a saída do MSBuild usará a codificação UTF-8 agora se DOTNET_CLI_UI_LANGUAGE estiver definido e houver suporte para UTF-8.

Versão introduzida

.NET 8 versão prévia 5

Tipo de alteração interruptiva

Esta é uma alteração comportamental.

Motivo da alteração

Anteriormente, a saída de comandos como dotnet build era uma combinação da linguagem DOTNET_CLI_UI_LANGUAGE (para saída do SDK do .NET) e da linguagem do sistema operacional (para saída do MSBuild). Por exemplo, a saída "Compilação bem-sucedida/com falha" usou a linguagem do sistema operacional. Com essa alteração, o idioma do SDK do .NET e da saída do MSBuild é consistente.

Se você quiser manter o comportamento antigo, desmarque DOTNET_CLI_UI_LANGUAGE usando o comando set DOTNET_CLI_UI_LANGUAGE= (ou um comando semelhante para o shell alterar variáveis de ambiente).