-keyfile

Especifica un archivo que contiene una clave o un par de claves que asigna un nombre seguro al ensamblado.

Sintaxis

-keyfile:file

Argumentos

file Obligatorio. Archivo que contiene la clave. Si el nombre de archivo contiene un espacio, escríbalo entre comillas (" ").

Comentarios

El compilador inserta la clave pública en el manifiesto del ensamblado y firma después el ensamblado final con la clave privada. Para generar un archivo de claves, escriba sn -k file en la línea de comandos. Para obtener más información, consulte Sn.exe (herramienta de nombre seguro).

Si se compila con -target:module, el nombre del archivo de claves se mantiene en el módulo y se incorpora al ensamblado que se crea al compilar un ensamblado con -addmodule.

También puede pasar la información de cifrado al compilador con -keycontainer. Use -delaysign para firmar el ensamblado de forma parcial.

También puede especificar esta opción como un atributo personalizado (AssemblyKeyFileAttribute) en el código fuente de cualquier módulo de lenguaje intermedio común.

Si en una misma compilación se especifica tanto -keyfile como -keycontainer (ya sea mediante una opción de línea de comandos o mediante un atributo personalizado), el compilador probará primero el contenedor de claves. Si lo consigue, el ensamblado se firma con la información del contenedor de claves. Si el compilador no encuentra el contenedor de claves, probará el archivo especificado con -keyfile. Si lo consigue, el ensamblado se firma con la información del archivo de claves, y la información de la clave se instalará en el contenedor de claves (similar a sn -i) de modo que, en la próxima compilación, el contenedor de claves será válido.

Tenga en cuenta que un archivo de clave puede contener solo la clave pública.

Consulte Creación y uso de ensamblados con nombre seguro para obtener más información sobre cómo firmar un ensamblado.

Nota

La opción -keyfile no está disponible en el entorno de desarrollo de Visual Studio; solo está disponible cuando se compila desde la línea de comandos.

Ejemplo

En el código siguiente se compila el archivo de código fuente Input.vb y se especifica un archivo de claves.

vbc -keyfile:myfile.sn input.vb

Vea también