Aracılığıyla paylaş


MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Yöntem

Tanım

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 assemblyNameiç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.

Şunlara uygulanır