Partager via


Mappage de barre oblique inverse dans les chemins de fichiers Unix

Les barres obliques inverses (\) sont valides dans les noms de répertoire et de fichier sur Unix. À compter de .NET 8, le runtime CoreCLR natif ne convertit plus les caractères \ en séparateurs de répertoires (barres obliques (/)) sur Unix. Ce changement permet aux applications .NET d’être sur des chemins avec des noms qui contiennent des barres obliques inverses. Il permet également au runtime natif, hôte dotnet, et aux outils ilasm et ildasm d’accéder aux fichiers sur des chemins qui contiennent des barres obliques inverses.

Comportement précédent

Le runtime CoreCLR natif convertissait automatiquement les barres obliques inverses (\) dans les chemins de fichier en barres obliques (/) sur Unix.

Nouveau comportement

Le runtime CoreCLR natif ne convertit aucun caractère de chemin de fichier sur Unix.

Version introduite

.NET 8 Préversion 1

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

Sans ce changement, les applications .NET situées dans des répertoires qui contiennent des barres obliques inverses ne peuvent pas démarrer.

  • Utilisez Path.DirectorySeparatorChar comme séparateur de répertoires dans votre application au lieu de le coder en dur comme \ ou /.
  • Utilisez / comme séparateur de répertoires sur Unix dans les chemins de fichier que vous passez à l’hôte dotnet, aux API d’hébergement, et aux outils ilasm et ildasm.
  • Utilisez / comme séparateur de répertoires sur Unix dans les chemins de fichier de diverses DOTNET_xxx variables d’environnement.

API affectées