В UNIX правильно анализируются пути URI с символами, отличными от ASCII
В классе System.Uri была исправлена ошибка таким образом, что абсолютные пути URI, которые содержат символы, отличные от ASCII, теперь правильно анализируются на платформах UNIX.
Описание изменения
В предыдущих версиях .NET абсолютные пути URI, содержащие символы, отличные от ASCII, анализировались неправильно на платформах UNIX, а сегменты пути дублировались. (Абсолютные пути начинаются с символа косой черты "/".) Проблема синтаксического анализа исправлена для .NET 5. При переходе с предыдущей версии .NET на .NET 5 и более поздние версии вы получите различные значения, создаваемые Uri.AbsoluteUri, Uri.ToString() и другими членами Uri.
Рассмотрим выходные данные следующего кода при выполнении в UNIX.
var myUri = new Uri("/üri");
Console.WriteLine($"AbsoluteUri: {myUri.AbsoluteUri}");
Console.WriteLine($"ToString: {myUri.ToString()}");
Выходные данные в предыдущей версии .NET:
AbsoluteUri: /%C3%BCri/%C3%BCri
ToString: /üri/üri
Выходные данные в .NET 5 и более поздних версиях:
AbsoluteUri: /%C3%BCri
ToString: /üri
Представленные версии
5,0
Рекомендуемое действие
Если у вас есть код, который ожидает и учитывает повторяющиеся сегменты пути, то можно удалить этот код.