Assemblys de nom fort (signature d'assembly) (C++/CLI)
Cette rubrique explique comment signer votre assembly, souvent appelé « donner à votre assembly un nom fort ».
Notes
Lorsque vous utilisez Visual C++, utilisez des options d’éditeur de liens pour signer votre assembly afin d’éviter les problèmes liés aux attributs CLR pour la signature d’assembly :
Les raisons de ne pas utiliser les attributs incluent le fait que le nom de clé est visible dans les métadonnées d’assembly, ce qui peut être un risque de sécurité si le nom de fichier inclut des informations confidentielles. En outre, le processus de génération utilisé par l’environnement de développement Visual C++ invalide la clé avec laquelle l’assembly est signé si vous utilisez des attributs CLR pour donner à un assembly un nom fort, puis exécutez un outil de post-traitement comme mt.exe sur l’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 réinscrire l’assembly avec sn.exe. Vous pouvez également générer et retarder le signe de l’assembly et après l’exécution des outils de post-traitement, terminez la signature.
Si vous utilisez les attributs de signature lors de la génération dans l’environnement de développement, vous pouvez signer l’assembly de manière explicite en appelant explicitement sn.exe (Sn.exe (Strong Name Tool)) dans un événement post-build. Pour plus d’informations, consultez Spécification d’événements de build. Les temps de génération peuvent être inférieurs si vous utilisez des attributs et un événement post-build, par rapport à l’utilisation d’options d’é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.