Signature d'un assembly avec un nom fort
Il existe deux façons de signer un assembly avec un nom fort :
- Utiliser l'utilitaire Assembly Linker (Al.exe) fournit par le Kit de développement .NET Framework SDK.
- Utiliser des attributs d'assembly pour insérer les informations de nom fort dans votre code. Vous pouvez utiliser soit AssemblyKeyFileAttribute, soit AssemblyKeyNameAttribute, en fonction de l'emplacement du fichier de clé à utiliser.
Pour signer un assembly avec un nom fort, vous devez avoir une paire de clés cryptographiques. Pour plus d'informations sur la création d'une paire de clés, consultez Création d'une paire de clés.
Pour créer et signer un assembly avec un nom fort à l'aide de l'utilitaire Assembly Linker
À l'invite de commande, tapez la commande suivante :
al /out:<nom de l'assembly> <nom du module> /keyfile:<nom du fichier>
Dans cette commande, nom de l'assembly représente le nom de l'assembly à signer avec un nom fort, nom du module représente le nom du module de code utilisé pour créer l'assembly et nom du fichier représente le nom du conteneur ou du fichier qui contient la paire de clés.
L'exemple suivant signe l'assembly MyAssembly.dll
avec un nom fort à l'aide du fichier de clé sgKey.snk
.
al /out:MyAssembly.dll MyModule.netmodule /keyfile:sgKey.snk
Pour signer un assembly avec un nom fort à l'aide d'attributs
- Dans un module de code, ajoutez AssemblyKeyFileAttribute ou AssemblyKeyNameAttribute, en spécifiant le nom du fichier ou du conteneur qui contient la paire de clés à utiliser lors de la signature de l'assembly avec un nom fort.
L'exemple de code suivant utilise AssemblyKeyFileAttribute avec un fichier de clé appelé sgKey.snk
.
<Assembly:AssemblyKeyFileAttribute("sgKey.snk")>
[C#]
[assembly:AssemblyKeyFileAttribute(@"..\..\sgKey.snk")]
Vous pouvez également temporiser la signature d'un assembly lors de la compilation. Pour plus d'informations, consultez Temporisation de signature d'un assembly.
Lorsque vous signez un assembly avec un nom fort, l'utilitaire Assembly Linker (Al.exe) recherche le fichier de clé relatif au répertoire en cours et au répertoire de sortie. Lorsque vous utilisez des compilateurs de ligne de commande, vous pouvez vous contenter de copier la clé dans le répertoire en cours contenant vos modules de code.
Voir aussi
Création et utilisation d'assemblys avec nom fort | Création d'une paire de clés | Temporisation de signature d'un assembly