Sdílet prostřednictvím


Mapování zpětného lomítka v cestách k souborům unix

Znaky zpětného lomítka (\) jsou platné v názvech adresářů a souborů v unixovém systému. Od verze .NET 8 už nativní modul runtime CoreCLR nepřevádí \ znaky na oddělovače adresářů – lomítka (/)) v unixu. Tato změna umožňuje, aby aplikace .NET byly umístěny na cestách s názvy, které obsahují znaky zpětného lomítka. Umožňuje také nativní modul runtime, dotnet hostitele a ilasm ildasm nástroje přistupovat k souborům na cestách, které obsahují znaky zpětného lomítka.

Předchozí chování

Nativní modul runtime CoreCLR automaticky převedl zpětné lomítko (\) v cestách k souborům na lomítka (/) v unixu.

Nové chování

Nativní modul runtime CoreCLR nepřevádí žádné znaky cesty k souboru v systému Unix.

Zavedená verze

.NET 8 Preview 1

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Bez této změny se nespustí aplikace .NET umístěné v adresářích, které obsahují znaky zpětného lomítka.

  • Používejte Path.DirectorySeparatorChar jako oddělovač adresářů v aplikaci místo jeho pevně zakódování na \ nebo /.
  • V cestách k souborům, které předáváte hostitelidotnet, hostitelským rozhraním API a ildasm ilasm nástrojům, použijte / jako oddělovač adresářů v unixových cestách.
  • Slouží / jako oddělovač adresářů v unixových cestách k souborům v různých DOTNET_xxx proměnných prostředí.

Ovlivněná rozhraní API