URI-sökvägar med icke-ASCII-tecken parsas korrekt på Unix
En bugg har åtgärdats i System.Uri klassen så att absoluta URI-sökvägar som innehåller icke-ASCII-tecken nu parsas korrekt på Unix-plattformar.
Ändra beskrivning
I tidigare versioner av .NET tolkas absoluta URI-sökvägar som innehåller icke-ASCII-tecken felaktigt på Unix-plattformar, och segment av sökvägen dupliceras. (Absoluta sökvägar är de som börjar med "/".) Parsningsproblemet har åtgärdats för .NET 5. Om du flyttar från en tidigare version av .NET till .NET 5 eller senare får du olika värden som skapas av Uri.AbsoluteUri, Uri.ToString()och andra Uri medlemmar.
Överväg utdata från följande kod när du kör på Unix.
var myUri = new Uri("/üri");
Console.WriteLine($"AbsoluteUri: {myUri.AbsoluteUri}");
Console.WriteLine($"ToString: {myUri.ToString()}");
Utdata på tidigare .NET-version:
AbsoluteUri: /%C3%BCri/%C3%BCri
ToString: /üri/üri
Utdata på .NET 5 eller senare version:
AbsoluteUri: /%C3%BCri
ToString: /üri
Version introducerad
5,0
Rekommenderad åtgärd
Om du har kod som förväntar dig och konton för de duplicerade sökvägssegmenten kan du ta bort koden.