Caminhos de URI com caracteres não ASCII são analisados corretamente no UNIX
Um bug foi corrigido na classe System.Uri para que os caminhos de URI absolutos que contêm caracteres não ASCII agora sejam analisados corretamente em plataformas UNIX.
Descrição das alterações
Nas versões anteriores do .NET, os caminhos de URI absolutos que continham caracteres não ASCII eram analisados incorretamente em plataformas UNIX e segmentos do caminho eram duplicados. (Caminhos absolutos são aqueles que começam com "/"). O problema de análise foi corrigido no .NET 5. Se você mudar de uma versão anterior do .NET para o .NET 5 ou posterior, obterá valores diferentes produzidos por Uri.AbsoluteUri, Uri.ToString() e outros membros de Uri.
Considere a saída do código a seguir para execuções no UNIX.
var myUri = new Uri("/üri");
Console.WriteLine($"AbsoluteUri: {myUri.AbsoluteUri}");
Console.WriteLine($"ToString: {myUri.ToString()}");
Saída na versão anterior do .NET:
AbsoluteUri: /%C3%BCri/%C3%BCri
ToString: /üri/üri
Saída no .NET 5 ou em versões posteriores:
AbsoluteUri: /%C3%BCri
ToString: /üri
Versão introduzida
5,0
Ação recomendada
Se você tiver um código que espere e considere os segmentos de caminho duplicados, remova esse código.
APIs afetadas
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de