Partager via


Comment : référencer un assembly avec nom fort

Mise à jour : novembre 2007

Le référencement de types ou de ressources dans un assembly avec nom fort est généralement un processus transparent. Vous pouvez effectuer la référence au moment de la compilation (liaison anticipée) ou au moment de l'exécution.

Une référence au moment de la compilation se produit lorsque vous indiquez au compilateur que votre assembly référence explicitement un autre assembly. Lorsque vous utilisez le référencement au moment de la compilation, le compilateur obtient automatiquement la clé publique de l'assembly avec nom fort cible et la place dans la référence d'assembly de l'assembly compilé.

Remarque :

Un assembly doté de nom fort peut uniquement utiliser les types d'autres assemblys dotés de noms forts. Si ce n'était pas le cas, la sécurité de l'assembly doté de nom fort serait compromise.

Pour effectuer une référence au moment de la compilation à un assembly avec nom fort

  • À l'invite de commande, tapez la commande suivante :

    <commande du compilateur> /reference :<nom de l'assembly>

    Dans cette commande, commande du compilateur représente la commande du compilateur pour le langage utilisé et nom de l'assembly représente le nom de l'assembly avec nom fort référencé. Vous pouvez également utiliser d'autres options du compilateur, telles que l'option /t:library permettant de créer un assembly de bibliothèque.

L'exemple suivant crée un assembly appelé myAssembly.dll qui référence un assembly avec nom fort appelé myLibAssembly.dll, à partir d'un module de code appelé myAssembly.cs.

csc /t:library myAssembly.cs /reference:myLibAssembly.dll

Pour effectuer une référence au moment de l'exécution à un assembly avec nom fort

  • Pour effectuer une référence d'assembly avec nom fort au moment de l'exécution, comme lors de l'utilisation des méthodes Assembly.Load ou Assembly.GetType, vous devez utiliser le nom complet de l'assembly avec nom fort référencé. La syntaxe d'un nom complet est la suivante :

<nom de l'assembly>, <numéro de version>, <culture>, <jeton de clé publique>

Par exemple :

myDll, Version=1.1.0.0, Culture=en, PublicKeyToken=03689116d3a4ae33 

Dans cet exemple, PublicKeyToken est la forme hexadécimale du jeton de clé publique. S'il n'existe pas de valeur de culture, utilisez Culture=neutral.

L'exemple de code suivant montre comment utiliser ces informations avec la méthode Assembly.Load.

Assembly.Load("myDll,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa32c18d4fb1")
Assembly.Load("myDll,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa32c18d4fb1");

Vous pouvez imprimer le format hexadécimal de la clé publique et du jeton de clé publique pour un assembly spécifique en utilisant la commande suivante de l'outil Strong Name Tool (Sn.exe) :

sn -Tp <assembly>

Si vous avez un fichier de clé publique, vous pouvez également utiliser la commande suivante (notez la différence de casse de l'option de ligne de commande) :

sn -Tp <assembly>

Voir aussi

Autres ressources

Création et utilisation d'assemblys avec nom fort