Tek dosya yayımlama biçimi için derlemeyle ilgili API davranışı değişiklikleri

Bir derlemenin dosya konumuyla ilgili birden çok API, tek dosyalı yayımlama biçiminde çağrıldıklarında davranış değişikliklerine sahiptir.

Açıklama değiştirildi

.NET 5 ve sonraki sürümleri için tek dosyalı yayımlamada paketlenmiş derlemeler diske ayıklanması yerine bellekten yüklenir. Tek dosyayla yayımlanan uygulamalar için bu, konumla ilgili bazı API'lerin .NET 5 ve sonraki sürümlerde önceki .NET sürümlerinden farklı değerler döndüreceği anlamına gelir. Değişiklikler aşağıdaki gibidir:

API Önceki sürümler .NET 5 ve üzeri
Assembly.Location Ayıklanan DLL dosya yolunu döndürür Paketlenmiş derlemeler için boş dize döndürür
Assembly.CodeBase Ayıklanan DLL dosya yolunu döndürür Paketlenmiş derlemeler için özel durum oluşturur
Assembly.GetFile(String) Paketlenmiş derlemeler için döndürür null Paketlenmiş derlemeler için özel durum oluşturur
Environment.GetCommandLineArgs()[0] Değer, giriş noktası DLL'sinin adıdır Değer, ana bilgisayar yürütülebilir dosyasının adıdır
AppContext.BaseDirectory Değer geçici ayıklama dizinidir Değer, konak yürütülebilir dosyasının içeren dizinidir

Sürüm kullanıma sunulmuştur

5.0

Tek bir dosya olarak yayımlarken derlemelerin dosya konumuna bağımlılıklardan kaçının.

Etkilenen API’ler