Condividi tramite


ResolveEventArgs.RequestingAssembly Proprietà

Definizione

Ottiene l'assembly di cui viene risolta la dipendenza.

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

Valore della proprietà

Assembly che ha richiesto l'elemento specificato dalla Name proprietà .

Commenti

L'assembly restituito da questa proprietà è un assembly che non è riuscito a risolvere l'elemento specificato dalla Name proprietà , perché l'elemento non esiste in tale assembly, in una delle relative dipendenze caricate o in eventuali dipendenze che il caricatore potrebbe trovare tramite il probe.

Si supponga, ad esempio, che l'assembly corrente usi il metodo per caricare l'assembly Assembly.LoadFile A da una directory esterna al percorso di probe, per usare la CA di classe. Si supponga inoltre che la CA della classe usi la classe CB, nell'assembly B e che l'assembly A abbia un riferimento in fase di compilazione all'assembly B, che si trova anche all'esterno del percorso di probe. Quando l'assembly corrente tenta di creare un'istanza della CA, il caricatore tenta di risolvere il riferimento all'assembly B. Tuttavia, poiché l'assembly A è stato caricato tramite il Assembly.LoadFile metodo , il caricatore non può risolvere la dipendenza. Se è presente un gestore per l'evento AppDomain.AssemblyResolve , viene generato l'evento e la RequestingAssembly proprietà dell'oggetto risultante ResolveEventArgs contiene l'assembly A, perché l'assembly A è l'assembly che manca una dipendenza.

La semantica della RequestingAssembly proprietà varia a seconda della modalità di caricamento dell'assembly richiedente:

  • Contesto di carico: il valore della proprietà potrebbe essere null. Il contesto di carico è indipendente dall'ordine di carico e l'identità dell'assembly richiedente non è necessariamente significativa. Un esempio non Null si verifica quando viene chiamato il Type.GetType metodo e il tipo specificato non è noto all'assembly richiedente o a una delle relative dipendenze.

  • Load-from context: la proprietà può essere usata come hint di probe, ma il gestore eventi non deve ottenere più di una richiesta per un determinato nome di assembly.

  • Nessun contesto, ovvero l'assembly richiedente è stato caricato usando il Assembly.LoadFile metodo o come flusso di byte o in modalità mista: il gestore può usare la RequestingAssembly proprietà per caricare implementazioni diverse dello stesso assembly in base all'identità dell'assembly richiedente.

Si applica a

Vedi anche