-keyfile
Spécifie un fichier contenant une clé ou une paire de clés afin d'attribuer un nom fort à un assembly.
Syntaxe
-keyfile:file
Arguments
file
Obligatoire. Fichier qui contient la clé. Si le nom de fichier contient une espace, placez-le entre des guillemets(« »).
Notes
Le compilateur insère la clé publique dans le manifeste d’assembly, puis signe l’assembly final avec la clé privée. Pour générer un fichier de clé, tapez sn -k file
à la ligne de commande. Pour plus d’informations, consultez Sn.exe (outil Strong Name Tool).
Si vous compilez avec -target:module
, le nom du fichier de clé est conservé dans le module et incorporé dans l’assembly créé quand vous compilez un assembly avec -addmodule.
Vous pouvez également passer vos informations de chiffrement au compilateur avec -keycontainer. Utilisez -delaysign si vous voulez obtenir un assembly partiellement signé.
Vous pouvez également spécifier cette option comme attribut personnalisé (AssemblyKeyFileAttribute) dans le code source de n’importe quel module CIL (Common Intermediate Language).
Si -keyfile
et -keycontainer sont spécifiés (par option de ligne de commande ou par attribut personnalisé) dans la même compilation, le compilateur essaie d’abord d’utiliser le conteneur de clé. Si cette tentative réussit, l'assembly est signé avec les informations figurant dans le conteneur de clé. Si le compilateur ne trouve pas le conteneur de clé, il essaie d’utiliser le fichier spécifié avec -keyfile
. En cas de réussite, l’assembly est signé avec les informations du fichier de clé et les informations sur la clé sont installées dans le conteneur de clé (semblable à sn -i
) de sorte qu’à la compilation suivante, le conteneur de clé est valide.
Notez qu’un fichier de clé peut contenir uniquement la clé publique.
Consultez Création et utilisation d’assemblys avec un nom fort pour plus d’informations sur la signature d’un assembly.
Notes
L’option -keyfile
n’est pas disponible à partir de l’environnement de développement Visual Studio. Elle est disponible uniquement lors de la compilation à partir de la ligne de commande.
Exemple
Le code suivant compile le fichier source Input.vb
et spécifie un fichier de clé.
vbc -keyfile:myfile.sn input.vb