Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Ошибка, упоминаемая в выходных данных консоли CLI в связи с изменением кодировки UTF-8, когда пакет SDK для .NET изменил кодировку всей консоли, была исправлена. Кодировка консоли больше не остается UTF-8 после выполнения команды пакета SDK для .NET. Возможно, что пользователи стали полагаться на это поведение, поэтому это значимое изменение.
Кроме того, пакет SDK для .NET больше не изменяет кодировку на UTF-8 в более ранних версиях Windows 10, которые не полностью поддерживают его.
Предыдущее поведение
- Пакет SDK изменил кодировку терминала после выполнения команды, например
dotnet build. - Пакет SDK использовал кодировку UTF-8 для правильной отрисовки символов, отличных от английского языка, даже в версиях Windows 10, которые официально не поддерживали UTF-8. Поведение не определено в этих версиях.
Новое поведение
- Пакет SDK не изменяет кодировку терминала после выхода из других программ.
- По умолчанию пакет SDK больше не использует UTF-8 для версий Windows, которые не поддерживают его.
Представленная версия
7.0.3xx .NET 8( предварительная версия 3)
Тип разрушающего изменения
Это изменение может повлиять на совместимость двоичных файлов. Это также изменение поведения.
Причина изменения
Возникла ошибка, из-за которой пакет SDK для .NET повлиял на кодировку в консоли для других программ. Это была ошибка, которая была исправлена, что привело к критическому изменению.
Старые версии Windows 10 (т. е. версии до обновления за ноябрь 2019 г.) не поддерживали UTF-8, поэтому поведение по умолчанию не должно использоваться кодировкой UTF-8. Теперь доступна возможность согласиться добровольно.
Рекомендуемое действие
Если приложению необходимо изменить кодовую страницу в Windows, он может запустить процесс для вызова chcp команды. Ваше приложение не должно полагаться на пакет SDK для .NET, чтобы изменить кодировку.
Для более старых версий Windows 10, которые официально не поддерживают UTF-8, где требуется, чтобы пакет SDK для .NET продолжал изменять кодировку на UTF-8 для языков, отличных от английского языка, можно задать для переменной DOTNET_CLI_FORCE_UTF8_ENCODINGtrue среды значение или 1.