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 durch die 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 nicht vorhanden war, in einer der geladenen Abhängigkeiten oder in Abhängigkeiten, die das Ladeprogramm durch Ausführen von Probing finden konnte.

Angenommen, die aktuelle Assembly verwendet die Methode zum Laden der Assembly.LoadFile Assembly A aus einem Verzeichnis außerhalb des Probingpfads, um die Klassenzertifizierungsstelle zu verwenden. Angenommen, die Klassenzertifizierungsstelle verwendet Klassen-CB, in Assembly B, und die Assembly A verfügt über einen Kompilierungszeitverweis auf Assembly B, der sich auch außerhalb des Probingpfads 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, die eine Abhängigkeit fehlt.

Die Semantik der RequestingAssembly Eigenschaft variiert je nachdem, 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 notwendigerweise aussagekräftig. Ein Beispiel ohne Null tritt auf, wenn die Type.GetType Methode aufgerufen wird und der angegebene Typ der anfordernden Assembly oder einer seiner Abhängigkeiten nicht bekannt ist.

  • Kontext laden: Die Eigenschaft kann als Probinghinweis verwendet werden, der Ereignishandler sollte jedoch nicht mehr als eine Anforderung für einen bestimmten Assemblynamen abrufen.

  • Kein Kontext (d. h. die anfordernde Assembly wurde mithilfe der Assembly.LoadFile Methode oder als Bytestream 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