Udostępnij za pośrednictwem


Mapowanie ukośników odwrotnych w ścieżkach plików systemu Unix

Znaki ukośnika odwrotnego (\) są prawidłowe w nazwach katalogów i plików w systemie Unix. Począwszy od platformy .NET 8, natywne środowisko uruchomieniowe CoreCLR nie konwertuje \ już znaków na separatory katalogów — ukośniki (/)— w systemie Unix. Ta zmiana umożliwia aplikacjom platformy .NET lokalizację na ścieżkach z nazwami, które zawierają znaki ukośnika odwrotnego. Umożliwia również natywne środowisko uruchomieniowe, dotnet host i ilasm narzędzia i ildasm uzyskiwanie dostępu do plików w ścieżkach zawierających znaki ukośnika odwrotnego.

Poprzednie zachowanie

Natywne środowisko uruchomieniowe CoreCLR automatycznie konwertowało znaki ukośnika odwrotnego (\) w ścieżkach pliku do ukośników () w/ systemie Unix.

Nowe zachowanie

Natywne środowisko uruchomieniowe CoreCLR nie konwertuje żadnych znaków ścieżki pliku w systemie Unix.

Wprowadzona wersja

.NET 8 (wersja zapoznawcza 1)

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Bez tej zmiany nie można uruchomić aplikacji platformy .NET znajdujących się w katalogach zawierających znaki ukośnika odwrotnego.

  • Użyj Path.DirectorySeparatorChar jako separatora katalogów w aplikacji zamiast na twardo do \ lub /.
  • Użyj / jako separatora katalogów w systemie Unix w ścieżkach plików przekazywanych do dotnet hosta, hostowania interfejsów API i ildasm ilasm narzędzi.
  • Użyj / jako separatora katalogów w systemie Unix w ścieżkach plików w różnych DOTNET_xxx zmiennych środowiskowych.

Dotyczy interfejsów API