Condividi tramite


MSBuild rispetta DOTNET_CLI_UI_LANGUAGE

MSBuild ora rispetta la variabile di ambiente DOTNET_CLI_UI_LANGUAGE e usa il linguaggio specificato da DOTNET_CLI_UI_LANGUAGE per l'output della riga di comando. Questa modifica influisce sull'output dei comandi msbuild.exe, dotnet build e dotnet msbuild.

Comportamento precedente

In precedenza, l'output della riga di comando di MSBuild era sempre nel linguaggio del sistema operativo e usava la propria codifica, indipendentemente da DOTNET_CLI_UI_LANGUAGE.

Nuovo comportamento

MSBuild usa il linguaggio specificato da DOTNET_CLI_UI_LANGUAGE anziché il linguaggio del sistema operativo, per l'output della riga di comando.

In Windows l'output di MSBuild ora usa la codifica UTF-8 se DOTNET_CLI_UI_LANGUAGE è impostato e UTF-8 è supportato.

Versione introdotta

.NET 8 anteprima 5

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

In precedenza, l'output dei comandi come dotnet build era una combinazione del linguaggio DOTNET_CLI_UI_LANGUAGE (per l'output dell’SDK .NET) e del linguaggio del sistema operativo (per l'output di MSBuild). Ad esempio, l'output "Build succeeded/failed" usava il linguaggio del sistema operativo. Con questa modifica, il linguaggio di output dell’SDK .NET e di MSBuild è coerente.

Se vuoi mantenere il comportamento precedente, annulla l'impostazione DOTNET_CLI_UI_LANGUAGE usando il comando set DOTNET_CLI_UI_LANGUAGE= (o un comando per la shell simile per modificare le variabili di ambiente).