Assemblys de nom fort (signature d'assembly)

Mise à jour : novembre 2007

Cette rubrique explique comment signer un assembly, opération souvent désignée par l'expression donner un nom fort à votre assembly.

Notes

Lors de l'utilisation de Visual C++, utilisez les options de l'éditeur de liens pour signer votre assembly afin d'éviter tout problème lié aux attributs CLR de signature d'assembly :

L'utilisation d'attributs n'est pas conseillée car le nom de la clé est visible dans les métadonnées de l'assembly, ce qui peut poser des problèmes de sécurité si le nom du fichier comprend des informations confidentielles. En outre, le processus de génération utilisé par l'environnement de développement Visual C++ invalidera la clé avec laquelle l'assembly est signé si vous avez utilisé des attributs CLR pour donner un nom fort à l'assembly, puis il exécutera un outil de post-traitement tel que mt.exe sur cet assembly.

Si vous générez sur la ligne de commande, utilisez les options de l'éditeur de liens pour signer votre assembly, puis exécutez un outil de post-traitement (comme mt.exe), vous devrez re-signer l'assembly avec sn.exe. Vous pouvez également générer l'assembly en différant sa signature, puis après avoir exécuté les outils de post-traitement, en terminer la signature.

Si vous utilisez les attributs de signature lors de la génération dans l'environnement de développement, vous pouvez signer correctement l'assembly en appelant explicitement sn.exe (Outil Strong Name Tool (Sn.exe)) dans un événement après génération. Pour plus d'informations, consultez Spécification d'événements de génération. Les durées de génération peuvent être raccourcies si vous utilisez des attributs et un événement après génération, par rapport à l'utilisation d'une option de l'éditeur de liens.

Les options de l'éditeur de liens suivantes prennent en charge la signature d'assembly :

Pour plus d'informations sur les assemblys forts, consultez Création et utilisation d'assemblys avec nom fort.

Voir aussi

Autres ressources

Guide de programmation .NET