ResolveEventArgs.RequestingAssembly Propriedade
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
O assembly que solicitou o item especificado pela propriedade Name.
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.
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: