-keyfile-keyfile

Especifica um arquivo que contém uma chave ou um par de chaves para fornecer um nome forte ao assembly.Specifies a file containing a key or key pair to give an assembly a strong name.

SintaxeSyntax

-keyfile:file  

ArgumentosArguments

file
Obrigatório.Required. Arquivo que contém a chave.File that contains the key. Se o nome do arquivo contiver um espaço, coloque o nome entre aspas ("").If the file name contains a space, enclose the name in quotation marks (" ").

ComentáriosRemarks

O compilador insere a chave pública no manifesto do assembly e, em seguida, assina o assembly final com a chave privada.The compiler inserts the public key into the assembly manifest and then signs the final assembly with the private key. Para gerar um arquivo de chave, digite sn -k file na linha de comando.To generate a key file, type sn -k file at the command line. Para obter mais informações, consulte Sn.exe (ferramenta de nome forte)).For more information, see Sn.exe (Strong Name Tool)).

Se você compilar with -target:module , o nome do arquivo de chave será mantido no módulo e incorporado ao assembly criado quando você compilar um assembly com o módulo-Add.If you compile with -target:module, the name of the key file is held in the module and incorporated into the assembly that is created when you compile an assembly with -addmodule.

Também é possível passar suas informações de criptografia para o compilador com -keycontainer.You can also pass your encryption information to the compiler with -keycontainer. Use -delaysign se quiser um assembly parcialmente assinado.Use -delaysign if you want a partially signed assembly.

Você também pode especificar essa opção como um atributo personalizado ( AssemblyKeyFileAttribute ) no código-fonte para qualquer módulo de linguagem intermediária da Microsoft.You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any Microsoft intermediate language module.

Caso both -keyfile e -keycontainer sejam especificados (por opção de linha de comando ou por atributo personalizado) na mesma compilação, o compilador primeiro tenta o contêiner de chave.In case both -keyfile and -keycontainer are specified (either by command-line option or by custom attribute) in the same compilation, the compiler first tries the key container. Se isso ocorrer, o assembly será assinado com as informações no contêiner de chaves.If that succeeds, then the assembly is signed with the information in the key container. Se o compilador não encontrar o contêiner de chave, ele tentará o arquivo especificado com -keyfile .If the compiler does not find the key container, it tries the file specified with -keyfile. Se isso for bem sucedido, o assembly será assinado com as informações no arquivo de chave e as informações de chave serão instaladas no contêiner de chave (semelhante a sn -i ) para que, na próxima compilação, o contêiner de chave seja válido.If this succeeds, the assembly is signed with the information in the key file, and the key information is installed in the key container (similar to sn -i) so that on the next compilation, the key container will be valid.

Observe que um arquivo de chave pode conter somente a chave pública.Note that a key file might contain only the public key.

Consulte criando e usando assemblies de Strong-Named para obter mais informações sobre como assinar um assembly.See Creating and Using Strong-Named Assemblies for more information on signing an assembly.

Observação

A -keyfile opção não está disponível no ambiente de desenvolvimento do Visual Studio; ela está disponível somente durante a compilação na linha de comando.The -keyfile option is not available from within the Visual Studio development environment; it is available only when compiling from the command line.

ExemploExample

O código a seguir compila o arquivo Input.vb de origem e especifica um arquivo de chave.The following code compiles source file Input.vb and specifies a key file.

vbc -keyfile:myfile.sn input.vb

Consulte tambémSee also