Partage via


ResolveEventArgs.RequestingAssembly Propriété

Définition

Obtient l'assembly dont la dépendance est résolue.

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

Valeur de propriété

Assembly qui a demandé l'élément spécifié par la propriété Name.

Remarques

L’assembly retourné par cette propriété est un assembly qui n’a pas pu résoudre l’élément spécifié par la Name propriété, car l’élément n’existait pas dans cet assembly, dans l’une de ses dépendances chargées ou dans les dépendances que le chargeur a pu trouver par le biais de l’interrogation.

Par exemple, supposons que l’assembly actuel utilise la méthode pour charger l’assembly Assembly.LoadFile A à partir d’un répertoire en dehors du chemin d’accès de sondage, afin d’utiliser l’autorité de certification de classe. Supposons en outre que l’autorité de certification de classe utilise la classe CB, dans l’assembly B, et que l’assembly A ait une référence au moment de la compilation à l’assembly B, également situé en dehors du chemin d’accès de sondage. Lorsque l’assembly actuel tente d’instancier l’autorité de certification, le chargeur tente de résoudre la référence à l’assembly B. Toutefois, étant donné que l’assembly A a été chargé à l’aide de la Assembly.LoadFile méthode , le chargeur ne peut pas résoudre la dépendance. S’il existe un gestionnaire pour l’événement AppDomain.AssemblyResolve , l’événement est déclenché et la propriété de l’objet RequestingAssembly résultant ResolveEventArgs contient l’assembly A, car l’assembly A est l’assembly qui manque une dépendance.

La sémantique de la RequestingAssembly propriété varie en fonction de la façon dont l’assembly demandeur a été chargé :

  • Contexte de chargement : la valeur de la propriété peut être null. Le contexte de chargement est indépendant de l’ordre de chargement, et l’identité de l’assembly demandeur n’est pas nécessairement significative. Un exemple non null se produit lorsque la Type.GetType méthode est appelée et que le type spécifié n’est pas connu de l’assembly demandeur ou de l’une de ses dépendances.

  • Contexte de chargement à partir de : la propriété peut être utilisée comme indicateur de sondage, mais le gestionnaire d’événements ne doit pas obtenir plusieurs requêtes pour un nom d’assembly donné.

  • Aucun contexte (autrement dit, l’assembly demandeur a été chargé à l’aide de la Assembly.LoadFile méthode, ou en tant que flux d’octets, ou en mode mixte) : le gestionnaire peut utiliser la RequestingAssembly propriété pour charger différentes implémentations du même assembly en fonction de l’identité de l’assembly demandeur.

S’applique à

Voir aussi