I percorsi URI con caratteri non ASCII vengono analizzati correttamente in Unix
È stato risolto un bug nella classe System.Uri in modo che i percorsi URI assoluti che contengono caratteri non ASCII ora vengano analizzati correttamente nelle piattaforme Unix.
Descrizione delle modifiche
Nelle versioni precedenti di .NET, i percorsi URI assoluti che contengono caratteri non ASCII vengono analizzati in modo non corretto nelle piattaforme Unix e i segmenti del percorso vengono duplicati. (I percorsi assoluti sono quelli che iniziano con "/".) Il problema di analisi è stato risolto per .NET 5. Se passi da una versione precedente di .NET a .NET 5 o versione successiva, otterrai valori diversi prodotti da Uri.AbsoluteUri, Uri.ToString() e altri membri Uri.
Considera l'output del codice seguente quando viene eseguito in Unix.
var myUri = new Uri("/üri");
Console.WriteLine($"AbsoluteUri: {myUri.AbsoluteUri}");
Console.WriteLine($"ToString: {myUri.ToString()}");
Output nella versione .NET precedente:
AbsoluteUri: /%C3%BCri/%C3%BCri
ToString: /üri/üri
Output in .NET 5 o versione successiva:
AbsoluteUri: /%C3%BCri
ToString: /üri
Versione introdotta
5.0
Azione consigliata
Se disponi di codice che prevede e tiene conto dei segmenti di percorso duplicati, puoi rimuovere tale codice.