Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Correção do bug mencionado na saída do console da CLI usa alteração interruptiva UTF-8, em que o SDK do .NET alterava a codificação de todo o console. A codificação do console não permanece mais UTF-8 depois que o SDK do .NET executa um comando. É possível que os usuários passaram a confiar nesse comportamento, portanto, essa é uma alteração significativa.
Além disso, o SDK do .NET não altera mais a codificação para UTF-8 em versões mais antigas do Windows 10 que não dão suporte total a ele.
Comportamento anterior
- O SDK alterou a codificação de um terminal depois de executar um comando como
dotnet build
. - O SDK usou a codificação UTF-8 para renderizar corretamente caracteres que não são em inglês, mesmo em versões do Windows 10 que não dão suporte oficialmente ao UTF-8. O comportamento foi indefinido nessas versões.
Novo comportamento
- O SDK não altera a codificação do terminal após a saída para outros programas.
- Por padrão, o SDK não usa mais o UTF-8 para versões do Windows que não dão suporte a ele.
Versão introduzida
7.0.3xx .NET 8 Versão Prévia 3
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade binária. Também é uma mudança comportamental.
Motivo da alteração
Houve um bug existente em que o SDK do .NET afetava a codificação no console para outros programas. Esse foi um bug corrigido, resultando nessa alteração interruptiva.
As versões mais antigas do Windows 10 (ou seja, versões antes da atualização de novembro de 2019) não dão suporte ao UTF-8, portanto, o comportamento padrão não deve ser usar a codificação UTF-8. Em vez disso, uma opção de adesão agora está disponível.
Ação recomendada
Se o aplicativo precisar alterar a página de código no Windows, ele poderá executar um processo para invocar o chcp
comando. Seu aplicativo não deve depender do SDK do .NET para alterar a codificação.
Para versões mais antigas do Windows 10 que não dão suporte oficialmente ao UTF-8, em que você deseja que o SDK do .NET continue a alterar a codificação para UTF-8 para idiomas que não são em inglês, você pode definir a variável DOTNET_CLI_FORCE_UTF8_ENCODING
de ambiente como true
ou 1.