Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilen derlemeler, çeşitli aşamalara sahip bir algoritma ile bulunur ve yüklenir.
Uydu derlemeleri ve WinRT derlemeler dışındaki tüm yönetilen derlemeler aynı algoritmayı kullanır.
Yönetilen derlemeler ne zaman yüklenir?
Yönetilen derleme yükünü tetiklemenin en yaygın mekanizması statik derleme başvurusudur. Bu başvurular, kod başka bir derlemede tanımlanan bir tür kullandığında derleyici tarafından eklenir. Çalışma zamanı gerektiğinde bu derlemeleri yükler (load-by-name). Statik derleme referanslarının tam olarak ne zaman yükleneceği belirtilmemektedir. Çalışma zamanı sürümleri arasında farklılık gösterebilir ve inlining gibi iyileştirmelerden etkilenir.
Aşağıdaki API'lerin doğrudan kullanımı yükleri de tetikler:
Algoritma
Aşağıdaki algoritma, çalışma zamanının yönetilen derlemeyi nasıl yüklediği açıklanmaktadır.
activeAssemblyLoadContext öğesini belirleyin.- Statik derleme başvurusu için,
activeAssemblyLoadContext başvuruda bulunan derlemeyi yükleyen örnektir. - Tercih edilen API'ler
activeAssemblyLoadContext açıkça belirtir. - Diğer API'ler
activeAssemblyLoadContext çıkarım yapar. Bu API'ler için AssemblyLoadContext.CurrentContextualReflectionContext özelliği kullanılır. Eğer değerinullise, çıkarsanan AssemblyLoadContext örneği kullanılır. - Yönetilen derlemeler ne zaman yüklenir? bölümündeki tabloya bakın.
- Statik derleme başvurusu için,
Load-by-nameyöntemler için,activeAssemblyLoadContext derlemeyi aşağıdaki öncelik sırasına göre yükler:- öğesini
cache-by-namedenetleyin. - AssemblyLoadContext.Load işlevini çağırın.
- Örneğin önbelleğini AssemblyLoadContext.Default denetleyin ve yönetilen derleme varsayılan yoklama mantığını çalıştırın. Bir derleme yeni yüklendiyse, AssemblyLoadContext.Default örneğinin
cache-by-namebölümüne bir başvuru eklenir. - Etkin AssemblyLoadContext için AssemblyLoadContext.Resolving olayını tetikler.
- Olayı tetikleyin AppDomain.AssemblyResolve.
- öğesini
Diğer yük türleri için,
activeAssemblyLoadContext derlemeyi aşağıdaki öncelik sırasına göre yükler:- öğesini
cache-by-namedenetleyin. - Belirtilen yoldan veya ham derleme nesnesinden yükleyin. Bir derleme yeni yüklendiğinde
activeAssemblyLoadContext örneğinecache-by-namebir başvuru eklenir.
- öğesini
Her iki durumda da, bir derleme yeni yüklenirse AppDomain.AssemblyLoad olayı tetiklenir.