Partager via


Exécution côte à côte et références d'assembly partiellement qualifiées

Du fait qu'elles représentent une source potentielle de problèmes pour l'exécution côte à côte, les références d'assembly partiellement qualifiées ne peuvent s'utiliser que pour lier à des assemblys au sein du répertoire d'une application. Évitez les références d'assembly partiellement qualifiées dans votre code.

Afin de réduire les références d'assembly partiellement qualifiées dans le code, vous pouvez utiliser l'élément <qualifyAssembly> dans un fichier de configuration de l'application pour qualifier complètement des références d'assembly partiellement qualifiées qui se produisent dans le code. Utilisez l'élément <qualifyAssembly> pour spécifier uniquement des champs qui n'ont pas été définis dans la référence partielle. L'identité de l'assembly répertoriée dans l'attribut fullName doit contenir toutes les informations nécessaires au nom qualifié complet de l'assembly : le nom de l'assembly, la clé publique, la culture et la version.

L'exemple suivant illustre l'entrée du fichier de configuration de l'application pour qualifier complètement un assembly nommé myAssembly.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
<qualifyAssembly partialName="myAssembly" 
fullName="myAssembly,
      version=1.0.0.0, 
publicKeyToken=..., 
      culture=neutral"/> 
</assemblyBinding> 

Chaque fois qu'une déclaration de chargement d'un assembly référence myAssembly, les paramètres du fichier de configuration entraînent la traduction automatique par le runtime de la référence partiellement qualifiée myAssembly en une référence qualifiée complète. Par exemple, Assembly.Load("myAssembly") devient Assembly.Load("myAssembly, version=1.0.0.0, publicKeyToken=..., culture=neutral").

RemarqueRemarque

Vous pouvez utiliser la méthode LoadWithPartialName pour ignorer la restriction du Common Language Runtime qui interdit le chargement des assemblys partiellement référencés à partir du Global Assembly Cache.Cette méthode doit s'utiliser uniquement dans des scénarios de communication à distance, car elle peut facilement générer des problèmes dans l'exécution côte à côte.

Voir aussi

Concepts

Assemblys dans le Common Language Runtime

Noms d'assemblys

Exécution côte à côte