Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
MSBuild now respects the DOTNET_CLI_UI_LANGUAGE
environment variable and uses the language specified by DOTNET_CLI_UI_LANGUAGE
for its command-line output. This change affects the output of the msbuild.exe
, dotnet build
, and dotnet msbuild
commands.
Previous behavior
Previously, MSBuild command-line output was always in the operating system (OS) language and used its own encoding, regardless of DOTNET_CLI_UI_LANGUAGE
.
New behavior
MSBuild uses the language specified by DOTNET_CLI_UI_LANGUAGE
instead of the OS language for its command-line output.
On Windows, MSBuild output uses UTF-8 encoding now if DOTNET_CLI_UI_LANGUAGE
is set and UTF-8 is supported.
Version introduced
.NET 8 Preview 5
Type of breaking change
This change is a behavioral change.
Reason for change
Previously, output from commands like dotnet build
was a mixture of the DOTNET_CLI_UI_LANGUAGE
language (for .NET SDK output) and the OS language (for MSBuild output). For example, the "Build succeeded/failed" output used the OS language. With this change, the language of .NET SDK and MSBuild output is consistent.
Recommended action
If you want to keep the old behavior, unset DOTNET_CLI_UI_LANGUAGE
by using the command set DOTNET_CLI_UI_LANGUAGE=
(or a similar command for your shell to change environment variables).