Delen via


Backslash-toewijzing in Unix-bestandspaden

Backslashtekens (\) zijn geldig in map- en bestandsnamen op Unix. Vanaf .NET 8 converteert \ de systeemeigen CoreCLR-runtime geen tekens meer naar adreslijstscheidingstekens ( slashes (/)) op Unix. Met deze wijziging kunnen .NET-toepassingen zich bevinden op paden met namen die backslash-tekens bevatten. Hiermee kunnen ook de systeemeigen runtime, dotnet host en hulpprogramma's ilasm ildasm toegang krijgen tot bestanden op paden die backslash-tekens bevatten.

Vorig gedrag

De systeemeigen CoreCLR-runtime converteert automatisch backslash-tekens (\) in bestandspaden naar slashes (/) op Unix.

Nieuw gedrag

De systeemeigen CoreCLR-runtime converteert geen bestandspadtekens op Unix.

Versie geïntroduceerd

.NET 8 Preview 1

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Zonder deze wijziging kunnen .NET-apps in mappen met backslash-tekens niet worden gestart.

  • Gebruik Path.DirectorySeparatorChar dit als mapscheidingsteken in uw app in plaats van deze te coderen in \ of /.
  • Gebruik / als mapscheidingsteken op Unix in bestandspaden die u doorgeeft aan de dotnet host, het hosten van API's en ilasm ildasm hulpprogramma's.
  • Gebruik / als mapscheidingsteken op Unix in bestandspaden in verschillende DOTNET_xxx omgevingsvariabelen.

Betrokken API's