ResolveEventArgs.RequestingAssembly Propriedade
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.
Obtém a assembly cuja dependência está a ser resolvida.
public:
property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly
Valor de Propriedade
A assembleia que pediu o item especificado pela Name propriedade.
Observações
O assembly que é devolvido por esta propriedade é um assembly que não conseguiu resolver o item especificado pela Name propriedade, porque o item não existia nesse assembly, em nenhuma das suas dependências carregadas, ou em quaisquer dependências que o loader pudesse encontrar através da sondagem.
Por exemplo, suponha que o conjunto atual usa o Assembly.LoadFile método para carregar o conjunto A a partir de um diretório fora do caminho de sondagem, para usar a classe CA. Suponha ainda que a classe CA usa a classe CB, na assembly B, e que a assembly A tem uma referência em tempo de compilação para a assembly B, também localizada fora do caminho de sondagem. Quando o conjunto atual tenta instanciar o CA, o carregador tenta resolver a referência ao conjunto B. No entanto, como o assembly A foi carregado usando o Assembly.LoadFile método, o carregador não consegue resolver a dependência. Se existir um manipulador para o AppDomain.AssemblyResolve evento, o evento é elevado, e a RequestingAssembly propriedade do objeto resultante ResolveEventArgs contém a montagem A, porque a montagem A é a montagem que não tem uma dependência.
A semântica da RequestingAssembly propriedade varia, dependendo de como o assembly solicitante foi carregado:
Contexto de carga: O valor da propriedade pode ser
null. O contexto de carga é independente da ordem de carga, e a identidade do conjunto requerente não é necessariamente significativa. Um exemplo não nulo ocorre quando o Type.GetType método é chamado e o tipo especificado não é conhecido pela assembly solicitante nem por nenhuma das suas dependências.Contexto load-from: A propriedade pode ser usada como dica de sondagem, mas o gestor de eventos não deve receber mais do que um pedido para um dado nome de assembly.
Sem contexto (ou seja, o assembly solicitante foi carregado usando o Assembly.LoadFile método, ou como um fluxo de bytes, ou em modo misto): O handler pode usar a RequestingAssembly propriedade para carregar diferentes implementações do mesmo assembly com base na identidade do assembly solicitante.