-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