Share via


Unix에서 비ASCII 문자를 포함하는 URI 경로가 올바르게 구문 분석됨

비ASCII 문자를 포함하는 절대 URI 경로가 이제 Unix 플랫폼에서 올바르게 구문 분석되도록 System.Uri 클래스의 버그가 수정되었습니다.

변경 내용 설명

이전 버전의 .NET에서는 비ASCII 문자를 포함하는 절대 URI 경로가 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

중복된 경로 세그먼트를 예상해서 고려하는 코드가 있을 경우 해당 코드를 제거할 수 있습니다.

영향을 받는 API