MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirli bir derleme adından bir derleme döndürür.
public:
abstract System::Reflection::Assembly ^ Resolve(System::Reflection::MetadataLoadContext ^ context, System::Reflection::AssemblyName ^ assemblyName);
public abstract System.Reflection.Assembly? Resolve (System.Reflection.MetadataLoadContext context, System.Reflection.AssemblyName assemblyName);
abstract member Resolve : System.Reflection.MetadataLoadContext * System.Reflection.AssemblyName -> System.Reflection.Assembly
Public MustOverride Function Resolve (context As MetadataLoadContext, assemblyName As AssemblyName) As Assembly
Parametreler
- context
- MetadataLoadContext
Meta veri yükleme bağlamı nesnesi, yalnızca inceleme amacıyla yüklenen nesnelerin kapalı evrenini Type temsil eder.
- assemblyName
- AssemblyName
Derlemenin adı.
Döndürülenler
Sağlanan assemblyName
için derleme.
Açıklamalar
Derleme adını derlemeye bağlama, çağrıldığında LoadFromAssemblyName veya bir derlemedeki bir türün başka bir derlemeye bağımlılığı olduğunda gerçekleşir. Geçersiz kılan Resolve
işleyici, istenen derlemeyi yüklemek ve döndürmek için veya MetadataLoadContext.LoadFromAssemblyPathMetadataLoadContext.LoadFromByteArray kullanmalıdırMetadataLoadContext.LoadFromStream.
Bir derlemenin bulunamamasına işaret etmek için işleyicinin özel durum oluşturması yerine döndürülmesi null
gerekir. döndürülmesi null
, gelecekte bu adı yükleme girişimlerinin işleyiciyi yeniden çağırmadan başarısız olması için hatayı işler.
İşleyici bir özel durum oluşturursa, özel durum bağlamayı tetikleyen işlemi çağıran uygulamaya geçirilir. MetadataLoadContext yakalamaz ve bağlama gerçekleşmez.
İki iş parçacığı aynı derlemeyi yüklemek için yarışmadığı sürece işleyici aynı ad için genellikle birden çok kez çağrılmaz. Bu durumda bile, bir sonuç kazanır ve atomik olarak ada bağlanır.
ref-def MetadataLoadContext eşleşmesini oluşturan bir ilke olduğundan, döndürülen derlemede kasıtlı olarak ref-def eşleştirmesi gerçekleştirmez. Bu aynı zamanda kaçınmaya çalışan rastgele bir kısıtlama MetadataLoadContext türüdür.
, MetadataLoadContext diğer meta veri yükleme bağlamlarından veya diğer tür sağlayıcılarından (temel çalışma zamanının kendi yansıma sistemi gibi) derlemeleri kullanamaz. İşleyici böyle bir derleme döndürürse, MetadataLoadContext bir FileLoadExceptionoluşturur.