ResolveEventArgs.RequestingAssembly Proprietà

Definizione

Ottiene l'assembly la cui dipendenza è in fase di risoluzione.

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 proprietà Name.

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 all'esterno del percorso di probe, per usare la CA della classe. Si supponga che l'autorità di certificazione 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 usando 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 caricamento: 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.

  • Contesto di caricamento: 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