Freigeben über


ResolveEventArgs.RequestingAssembly Eigenschaft

Definition

Ruft die Assembly ab, deren Abhängigkeit aufgelöst wird.

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

Eigenschaftswert

Die Assembly, die das von der Name-Eigenschaft angegebene Element angefordert hat.

Hinweise

Die assembly, die von dieser Eigenschaft zurückgegeben wird, ist eine Assembly, die das durch die Name -Eigenschaft angegebene Element nicht auflösen konnte, da das Element in dieser Assembly, in keiner ihrer geladenen Abhängigkeiten oder in Abhängigkeiten vorhanden war, die der Ladeprogramm durch Das Testen finden konnte.

Angenommen, die aktuelle Assembly verwendet die Assembly.LoadFile -Methode, um Assembly A aus einem Verzeichnis außerhalb des Untersuchungspfads zu laden, um die Klassenzertifizierungsstelle zu verwenden. Angenommen, die Klassenzertifizierungsstelle verwendet die Klasse CB in Assembly B und die Assembly A verfügt über einen Kompilierzeitverweis auf Assembly B, die sich ebenfalls außerhalb des Untersuchungspfads befindet. Wenn die aktuelle Assembly versucht, die Zertifizierungsstelle zu instanziieren, versucht das Ladeprogramm, den Verweis auf Assembly B aufzulösen. Da Assembly A jedoch mithilfe der Assembly.LoadFile -Methode geladen wurde, kann das Ladeprogramm die Abhängigkeit nicht auflösen. Wenn ein Handler für das AppDomain.AssemblyResolve Ereignis vorhanden ist, wird das Ereignis ausgelöst, und die RequestingAssembly -Eigenschaft des resultierenden ResolveEventArgs Objekts enthält Assembly A, da Assembly A die Assembly ist, der eine Abhängigkeit fehlt.

Die Semantik der RequestingAssembly Eigenschaft hängt davon ab, wie die anfordernde Assembly geladen wurde:

  • Ladekontext: Der Wert der -Eigenschaft kann sein null. Der Ladekontext ist unabhängig von der Ladereihenfolge, und die Identität der anfordernden Assembly ist nicht unbedingt sinnvoll. Ein Beispiel ungleich NULL tritt auf, wenn die Type.GetType Methode aufgerufen wird und der angegebene Typ der anfordernden Assembly oder einer ihrer Abhängigkeiten nicht bekannt ist.

  • Kontext laden: Die Eigenschaft kann als Überprüfungshinweis verwendet werden, aber der Ereignishandler sollte nicht mehr als eine Anforderung für einen angegebenen Assemblynamen erhalten.

  • Kein Kontext (d. h. die anfordernde Assembly wurde mithilfe der Assembly.LoadFile -Methode oder als Bytedatenstrom oder im gemischten Modus geladen): Der Handler kann die RequestingAssembly -Eigenschaft verwenden, um verschiedene Implementierungen derselben Assembly basierend auf der Identität der anfordernden Assembly zu laden.

Gilt für:

Weitere Informationen