다음을 통해 공유


Unix 파일 경로의 백슬래시 매핑

백슬래시(\) 문자는 Unix의 디렉터리 및 파일 이름에 유효합니다. .NET 8부터 네이티브 CoreCLR 런타임은 Unix에서 더 이상 \ 문자를 디렉터리 구분 기호(슬래시(/))로 변환하지 않습니다. 이 변경으로 인해 백슬래시 문자가 포함된 이름을 가진 경로에 .NET 애플리케이션을 찾을 수 있습니다. 또한 네이티브 런타임, dotnet 호스트, ilasmildasm 도구가 백슬래시 문자가 포함된 경로의 파일에 액세스할 수 있습니다.

이전 동작

네이티브 CoreCLR 런타임은 파일 경로의 백슬래시(\) 문자를 Unix의 슬래시(/)로 자동 변환했습니다.

새 동작

네이티브 CoreCLR 런타임은 Unix에서 파일 경로 문자를 변환하지 않습니다.

도입된 버전

.NET 8 미리 보기 1

호환성이 손상되는 변경의 형식

이 변경 사항은 동작 변경입니다.

변경 이유

이렇게 변경하지 않으면 백슬래시 문자가 포함된 디렉터리에 있는 .NET 앱이 시작되지 않습니다.

  • \ 또는 /으로 하드코딩하는 대신 Path.DirectorySeparatorChar를 앱의 디렉터리 구분 기호로 사용합니다.
  • dotnet 호스트, 호스팅 API, ilasmildasm 도구에 전달하는 파일 경로에서 Unix의 디렉터리 구분 기호로 /을 사용합니다.
  • 다양한 DOTNET_xxx환경 변수의 파일 경로에서 Unix의 디렉터리 구분 기호로 /을 사용합니다.

영향을 받는 API