Compartilhar via


-keyfile

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

Sintaxe

-keyfile:file

Argumentos

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

Comentários

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 (Ferramenta de Nome Forte).

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

Também é possível 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 de qualquer módulo de linguagem intermediária comum.

Caso tanto -keyfile e -keycontainer sejam especificados (pela opção de linha de comando ou pelo atributo personalizado) na mesma compilação, o compilador tentará primeiro o contêiner de chaves. Se isso ocorrer, o assembly será assinado com as informações no contêiner de chaves. Se o compilador não localizar o contêiner de chaves, ele tentará o arquivo especificado com -keyfile. Se isso ocorrer, o assembly será assinado com as informações no arquivo de chave e as informações da chave serão instaladas no contêiner de chaves (semelhante a sn -i), de modo que, na próxima compilação, o contêiner de chaves será válido.

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

Confira Criando e Usando Assemblies de Nomes Fortes e mais informações sobre assinatura de um assembly.

Observação

A opção -keyfile não está disponível no ambiente de desenvolvimento do Visual Studio; ela só está disponível quando se compila na linha de comando.

Exemplo

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

vbc -keyfile:myfile.sn input.vb

Confira também