Aracılığıyla paylaş


Unix dosya yollarında ters eğik çizgi eşlemesi

Ters eğik çizgi (\) karakterleri Unix'teki dizin ve dosya adlarında geçerlidir. .NET 8'den başlayarak, yerel CoreCLR çalışma zamanı artık Unix'te karakterleri dizin ayırıcılarına (eğik çizgi (\)) dönüştürmez/. Bu değişiklik, .NET uygulamalarının ters eğik çizgi karakterleri içeren adlara sahip yollarda bulunmasına olanak tanır. Ayrıca yerel çalışma zamanının, dotnet konağın ve ve ilasm araçlarının ildasm ters eğik çizgi karakterleri içeren yollardaki dosyalara erişmesini sağlar.

Önceki davranış

Yerel CoreCLR çalışma zamanı, dosya yollarındaki ters eğik çizgiyi (\) Unix'te eğik çizgiye (/) otomatik olarak dönüştürür.

Yeni davranış

Yerel CoreCLR çalışma zamanı Unix'te hiçbir dosya yolu karakterini dönüştürmez.

Sürüm kullanıma sunulmuştur

.NET 8 Preview 1

Hataya neden olan değişikliğin türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Bu değişiklik olmadan, ters eğik çizgi karakterleri içeren dizinlerde bulunan .NET uygulamaları başlatılamaz.

  • veya olarak sabit kodlamak Path.DirectorySeparatorChar\yerine uygulamanızda dizin ayırıcısı olarak kullanın/.
  • Konağa, barındırma API'lerine ve /dotnet araçlara ilasm geçirdiğiniz dosya yollarında Unix'te dizin ayırıcısı olarak kullanınildasm.
  • Çeşitli /DOTNET_xxx dosya yollarında Unix'te dizin ayırıcısı olarak kullanın.

Etkilenen API’ler