MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí sestavení z daného názvu sestavení.
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
Metadata načtení kontextový objekt, který představuje uzavřený vesmír Type objektů načtených pouze pro účely kontroly.
- assemblyName
- AssemblyName
Název sestavení.
Návraty
Sestavení pro zadaný assemblyName
.
Poznámky
Vazba názvu sestavení na sestavení nastane, když LoadFromAssemblyName je volán nebo když je typ z jednoho sestavení závislý na jiném sestavení. Obslužná rutina, která přepisuje Resolve
, by měla použít MetadataLoadContext.LoadFromStream, MetadataLoadContext.LoadFromAssemblyPath nebo MetadataLoadContext.LoadFromByteArray k načtení požadovaného sestavení a jeho vrácení.
Pokud chcete označit selhání při hledání sestavení, měla by obslužná rutina vrátit null
místo vyvolání výjimky.
null
Vrácením se potvrdí selhání, takže budoucí pokusy o načtení názvu selžou bez opětovného vyvolání obslužné rutiny.
Pokud obslužná rutina vyvolá výjimku, výjimka se předá aplikaci, která vyvolala operaci, která vazbu aktivovala. Nezachytí MetadataLoadContext ho a nedojde k žádné vazbě.
Obslužná rutina obecně nebude volána více než jednou pro stejný název, pokud dvě vlákna závodí na načtení stejného sestavení. I v takovém případě jeden výsledek vyhraje a bude atomicky svázán s názvem.
Záměrně MetadataLoadContext neprovádí žádné porovnání ref-def u vráceného sestavení, protože to, co tvoří shodu ref-def, je zásada. Jedná se také o druh libovolného omezení, kterému MetadataLoadContext se snaží zabránit.
Nemůže MetadataLoadContext využívat sestavení z jiných kontextů načítání metadat nebo jiných zprostředkovatelů typů (například vlastní systém reflexe podkladového modulu runtime). Pokud obslužná rutina vrátí takové sestavení, MetadataLoadContext vyvolá FileLoadExceptionobjekt .