MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Metoda

Definicja

Zwraca zestaw z podanej nazwy zestawu.

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

Parametry

context
MetadataLoadContext

Obiekt kontekstu ładowania metadanych, który reprezentuje zamknięty wszechświat Type obiektów załadowanych do celów tylko do inspekcji.

assemblyName
AssemblyName

Nazwa zestawu.

Zwraca

Zestaw dla podanego assemblyName.

Uwagi

Powiązanie nazwy zestawu z zestawem występuje, gdy LoadFromAssemblyName jest wywoływany lub gdy typ z jednego zestawu ma zależność od innego zestawu. Procedura obsługi, która zastępuje Resolve , powinna użyć metody MetadataLoadContext.LoadFromStreamlub MetadataLoadContext.LoadFromAssemblyPathMetadataLoadContext.LoadFromByteArray , aby załadować żądany zestaw i zwrócić go.

Aby wskazać błąd znalezienia zestawu, program obsługi powinien zwrócić null zamiast zgłaszać wyjątek. Zwracanie null zatwierdzeń kończy się niepowodzeniem, aby przyszłe próby załadowania tej nazwy nie powiodły się bez ponownego wywołania procedury obsługi.

Jeśli program obsługi zgłosi wyjątek, wyjątek zostanie przekazany do aplikacji, która wywołała operację, która wyzwoliła powiązanie. Element MetadataLoadContext nie przechwyci go i żadne powiązanie nie zostanie wykonane.

Procedura obsługi zwykle nie będzie wywoływana więcej niż raz dla tej samej nazwy, chyba że dwa wątki ścigają się, aby załadować ten sam zestaw. Nawet w takim przypadku jeden wynik wygra i będzie niepodzieal powiązany z nazwą.

Celowo MetadataLoadContext nie wykonuje dopasowania ref-def dla zwróconego zestawu, ponieważ to, co stanowi dopasowanie ref-def jest zasadami. Jest to również rodzaj arbitralnego ograniczenia, którego MetadataLoadContext celem jest uniknięcie.

Nie MetadataLoadContext można używać zestawów z innych kontekstów ładowania metadanych lub innych dostawców typów (takich jak własny system odbicia bazowego środowiska uruchomieniowego). Jeśli program obsługi zwraca taki zestaw, MetadataLoadContext zwraca wartość FileLoadException.

Dotyczy