MetadataAssemblyResolver.Resolve(MetadataLoadContext, AssemblyName) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve uma assembleia a partir de um dado nome de assembleia.
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
Parâmetros
- context
- MetadataLoadContext
O objeto de contexto de carregamento de metadados que representa o universo fechado de Type objetos carregados apenas para fins de inspeção.
- assemblyName
- AssemblyName
O nome da assembleia.
Devoluções
A montagem para o fornecido assemblyName.
Observações
Associar um nome de montagem a um conjunto ocorre quando LoadFromAssemblyName é chamado ou quando um tipo de um conjunto tem dependência de outro monte. O handler que sobrescreve Resolve deve usar MetadataLoadContext.LoadFromStream, MetadataLoadContext.LoadFromAssemblyPath ou MetadataLoadContext.LoadFromByteArray para carregar a montagem solicitada e devolvê-la.
Para indicar a falha em encontrar uma montagem, o handler deve retornar null em vez de lançar uma exceção. O retorno null compromete a falha, de modo que futuras tentativas de carregar esse nome falham sem que seja necessário reativar o handler.
Se o handler lançar uma exceção, a exceção será passada para a aplicação que invocou a operação que desencadeou a ligação. Eles MetadataLoadContext não o apanharão, e não ocorrerá nenhuma ligação.
O handler geralmente não será chamado mais do que uma vez pelo mesmo nome, a menos que duas threads corram a carregar a mesma montagem. Mesmo nesse caso, um resultado vencerá e ficará atómicamente ligado ao nome.
A equipa MetadataLoadContext intencionalmente não realiza correspondência de ref-def na montagem devolvida, pois o que constitui uma correspondência ref-def é uma política. É também o tipo de restrição arbitrária que MetadataLoadContext procura evitar.
Não MetadataLoadContext podem consumir assemblies de outros contextos de carregamento de metadados ou outros fornecedores de tipos (como o próprio sistema de reflexão do runtime subjacente). Se um manipulador devolver tal montagem, o MetadataLoadContext lança um FileLoadException.