MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.