Condividi tramite


Mapping delle barre rovesciate nei percorsi di file Unix

I caratteri barra rovesciata (\) sono validi nei nomi di directory e file in Unix. A partire da .NET 8, il runtime CoreCLR nativo non converte più caratteri \ in separatori di directory - barre (/) - in Unix. Questa modifica consente alle applicazioni .NET di trovarsi nei percorsi con nomi contenenti caratteri barra rovesciata. Consente inoltre al runtime nativo, all'host dotnet e agli strumenti ilasm e ildasm di accedere ai file nei percorsi che contengono caratteri barra rovesciata.

Comportamento precedente

Il runtime CoreCLR nativo converte automaticamente i caratteri barra rovesciata (\) nei percorsi di file in barre (/) in Unix.

Nuovo comportamento

Il runtime CoreCLR nativo non converte caratteri di percorso di file in Unix.

Versione con introduzione

.NET 8 anteprima 1

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

Senza questa modifica, le app .NET che si trovano nelle directory che contengono caratteri barra rovesciata non vengono avviate.

  • Usare Path.DirectorySeparatorChar come separatore di directory nell'app invece di impostare il valore come hardcoded in \ o /.
  • Usare / come separatore di directory in Unix nei percorsi di file passati all'host dotnet, alle API di hosting e agli strumenti ilasm e ildasm.
  • Usare / come separatore di directory in Unix nei percorsi di file in varie DOTNET_xxx variabili di ambiente.

API interessate