ResolveEventArgs.RequestingAssembly Eigenschaft

Definition

Ruft die Assembly ab, deren Abhängigkeit aufgelöst wird.Gets the assembly whose dependency is being resolved.

public:
 property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ 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.The assembly that requested the item specified by the Name property.

Hinweise

Die Assembly, die von dieser Eigenschaft zurückgegeben wird, ist eine Assembly, die das von der Name-Eigenschaft angegebene Element nicht auflösen konnte, da das Element nicht in der Assembly, in einer seiner geladenen Abhängigkeiten oder in Abhängigkeiten vorhanden war, die das Lade Modul durch Tests finden konnte.The assembly that is returned by this property is an assembly that was unable to resolve the item specified by the Name property, because the item did not exist in that assembly, in any of its loaded dependencies, or in any dependencies the loader could find through probing.

Nehmen wir beispielsweise an, dass die aktuelle Assembly die Assembly.LoadFile-Methode verwendet, um Assembly A aus einem Verzeichnis außerhalb des Suchpfads zu laden, um die Klassen Zertifizierungsstelle zu verwenden.For example, suppose the current assembly uses the Assembly.LoadFile method to load assembly A from a directory outside the probing path, in order to use class CA. Nehmen wir weiter an, dass die Klassen Zertifizierungsstelle die Klasse CB in Assembly b verwendet und dass Assembly a einen Kompilierzeit Verweis auf Assembly b hat, der sich auch außerhalb des Suchpfads befindet.Suppose further that class CA uses class CB, in assembly B, and that assembly A has a compile-time reference to assembly B, also located outside the probing path. Wenn die aktuelle Assembly versucht, eine Zertifizierungsstelle zu instanziieren, versucht das Lade Modul, den Verweis auf Assembly B aufzulösen. Da jedoch Assembly A mithilfe der Assembly.LoadFile-Methode geladen wurde, kann das Lade Modul die Abhängigkeit nicht auflösen.When the current assembly attempts to instantiate CA, the loader attempts to resolve the reference to assembly B. However, because assembly A was loaded by using the Assembly.LoadFile method, the loader cannot resolve the dependency. 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.If there is a handler for the AppDomain.AssemblyResolve event, the event is raised, and the RequestingAssembly property of the resulting ResolveEventArgs object contains assembly A, because assembly A is the assembly that is missing a dependency.

Die Semantik der RequestingAssembly-Eigenschaft variiert abhängig davon, wie die anfordernde Assembly geladen wurde:The semantics of the RequestingAssembly property vary, depending on how the requesting assembly was loaded:

  • Lade Kontext: der Wert der Eigenschaft ist möglicherweise null.Load context: The value of the property might be null. Der Load-Kontext ist unabhängig von der Reihenfolge der Lade Reihenfolge, und die Identität der anfordernden Assembly ist nicht unbedingt sinnvoll.The load context is load-order independent, and the identity of the requesting assembly is not necessarily meaningful. Ein Beispiel, das nicht NULL ist, tritt auf, wenn die Type.GetType-Methode aufgerufen wird und der angegebene Typ der anfordernden Assembly oder einer ihrer Abhängigkeiten nicht bekannt ist.A non-null example occurs when the Type.GetType method is called and the specified type is not known to the requesting assembly or any of its dependencies.

  • Load-from-Kontext: die Eigenschaft kann als Überprüfungs Hinweis verwendet werden, aber der Ereignishandler sollte nicht mehr als eine Anforderung für einen angegebenen Assemblynamen erhalten.Load-from context: The property can be used as a probing hint, but the event handler should not get more than one request for a given assembly name.

  • Kein Kontext (d. h. die anfordernde Assembly wurde mithilfe der Assembly.LoadFile-Methode, 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.No context (that is, the requesting assembly was loaded by using the Assembly.LoadFile method, or as a byte stream, or in mixed mode): The handler can use the RequestingAssembly property to load different implementations of the same assembly based on the identity of the requesting assembly.

Gilt für:

Siehe auch