Partilhar via


-arquivo-chave

Especifica um arquivo que contém uma chave ou par de chaves para dar a um assembly um nome forte.

Sintaxe

-keyfile:file

Argumentos

file Necessário. Arquivo que contém a chave. Se o nome do ficheiro contiver um espaço, coloque-o entre aspas (" ").

Observações

O compilador insere a chave pública no manifesto do assembly e, em seguida, assina o assembly final com a chave privada. Para gerar um arquivo de chave, digite sn -k file na linha de comando. Para obter mais informações, consulte Sn.exe (Strong Name Tool)).

Se você compilar com -target:module, o nome do arquivo de chave será mantido no módulo e incorporado ao assembly que é criado quando você compila um assembly com -addmodule.

Você também pode passar suas informações de criptografia para o compilador com -keycontainer. Use -delaysign se quiser um assembly parcialmente assinado.

Você também pode especificar essa opção como um atributo personalizado (AssemblyKeyFileAttribute) no código-fonte para qualquer módulo de idioma intermediário comum.

Caso ambos e -keyfile-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. Se isso for bem-sucedido, o assembly será assinado com as informações no contêiner de chaves. Se o compilador não encontrar o contêiner de chave, ele tentará o arquivo especificado com -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.

Observe que um arquivo de chave pode conter apenas a chave pública.

Consulte Criando e usando assemblies com nome forte para obter mais informações sobre como assinar um assembly.

Nota

A -keyfile opção não está disponível no ambiente de desenvolvimento do Visual Studio, ela está disponível apenas ao compilar a partir da linha de comando.

Exemplo

O código a seguir compila o arquivo de Input.vb origem e especifica um arquivo de chave.

vbc -keyfile:myfile.sn input.vb

Consulte também