Compartilhar via


ResolveEventArgs.RequestingAssembly Propriedade

Definição

Obtém o assembly cuja dependência está sendo resolvida.

public:
 property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? RequestingAssembly { get; }
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly

Valor da propriedade

O assembly que solicitou o item especificado pela propriedade Name.

Comentários

O assembly retornado por essa propriedade é um assembly que não pôde resolve o item especificado pela Name propriedade , porque o item não existia nesse assembly, em nenhuma de suas dependências carregadas ou em nenhuma dependência que o carregador pudesse encontrar por meio de investigação.

Por exemplo, suponha que o assembly atual use o método para carregar o Assembly.LoadFile assembly A de um diretório fora do caminho de investigação, a fim de usar a AC de classe. Suponha ainda que a AC de classe use a classe CB, no assembly B, e que o assembly A tenha uma referência em tempo de compilação para o assembly B, também localizado fora do caminho de investigação. Quando o assembly atual tenta instanciar a AC, o carregador tenta resolve a referência ao assembly B. No entanto, como o assembly A foi carregado usando o Assembly.LoadFile método , o carregador não pode resolve a dependência. Se houver um manipulador para o AppDomain.AssemblyResolve evento, o evento será gerado e a RequestingAssembly propriedade do objeto resultante ResolveEventArgs conterá o assembly A, pois o assembly A é o assembly 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 de ordem de carga e a identidade do assembly solicitante não é necessariamente significativa. Um exemplo não nulo ocorre quando o Type.GetType método é chamado e o tipo especificado não é conhecido pelo assembly solicitante ou qualquer uma de suas dependências.

  • Contexto de carregamento: a propriedade pode ser usada como uma dica de investigação, mas o manipulador de eventos não deve obter mais de uma solicitação para um determinado nome de assembly.

  • Nenhum contexto (ou seja, o assembly solicitante foi carregado usando o Assembly.LoadFile método ou como um fluxo de bytes ou no modo misto): o manipulador pode usar a RequestingAssembly propriedade para carregar implementações diferentes do mesmo assembly com base na identidade do assembly solicitante.

Aplica-se a

Confira também