Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute como você pode assinar seu assembly, muitas vezes referido como dando um nome forte ao assembly.
Observações
Ao usar o Visual C++, utilize as opções do vinculador para assinar o assembly e evitar problemas relacionados aos atributos CLR para assinatura de assembly.
Os motivos para não usar os atributos incluem o fato de que o nome da chave é visível nos metadados do assembly, o que pode ser um risco de segurança se o nome do arquivo incluir informações confidenciais. Além disso, o processo de compilação usado pelo ambiente de desenvolvimento do Visual C++ invalidará a chave com a qual o assembly é assinado se você usar atributos CLR para dar a um assembly um nome forte e, em seguida, executar uma ferramenta de pós-processamento como mt.exe no assembly.
Se você compilar na linha de comando, usar as opções do vinculador para assinar seu assembly e, em seguida, executar uma ferramenta de pós-processamento (como mt.exe), você precisará assinar novamente o assembly com sn.exe. Como alternativa, você pode criar e atrasar a assinatura da montagem e, depois de executar as ferramentas de pós-processamento, concluir a assinatura.
Se você usar os atributos de assinatura ao criar no ambiente de desenvolvimento, poderá assinar com êxito o assembly chamando explicitamente sn.exe (Sn.exe (Strong Name Tool)) em um evento pós-compilação. Para obter mais informações, consulte Especificando eventos de compilação. Os tempos de compilação podem ser menores se você usar atributos e um evento pós-compilação, em comparação com o uso de opções de vinculador.
As seguintes opções de vinculador suportam a assinatura de assembly:
/KEYFILE (especificar chave ou par de chaves para assinar um assembly)
/KEYCONTAINER (especifique um contêiner de chave para assinar um assembly)
Para obter mais informações sobre assemblies fortes, consulte Criando e usando assemblies Strong-Named.