-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