Assemblys de nom fort (signature d'assembly) (C++/CLI)
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 à 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 ré-signer l'assembly avec sn.exe. Ou bien, vous pouvez générer et différer la signature de l'assembly et après avoir exécuté des outils de post-traitement, complétez 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 (Sn.exe (outil Strong Name Tool)) dans un événement post-build. Pour plus d'informations, consultez Spécification d'événements de build. Les durées de génération peuvent être raccourcies si vous utilisez des attributs et un événement post-build, 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 :
/KEYFILE (Spécifier une clé ou une paire de clés pour signer un assembly)
/KEYCONTAINER (Spécifier un conteneur de clé pour signer un assembly)
Pour plus d'informations sur les assemblys forts, consultez Création et utilisation d'assemblys avec nom fort.