Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico discute como você pode assinar seu assembly, muitas vezes referida como atribuir um nome forte ao seu assembly.
Comentários
Ao usar o Visual C++, utilize as opções do vinculador para assinar seu 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 está 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 build 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 pós-processamento, como mt.exe, no assembly.
Se você compilar na linha de comando, usar as opções do linker para assinar seu assembly e, em seguida, executar uma ferramenta de pós-processamento (como mt.exe), será necessário assinar novamente o assembly com sn.exe. Como alternativa, você pode criar e atrasar a assinatura do assembly e, depois de executar ferramentas pós-processamento, concluir a assinatura.
Se você usar os atributos de assinatura ao criar no ambiente de desenvolvimento, poderá assinar com sucesso o assembly chamando explicitamente sn.exe (Sn.exe (Strong Name Tool)) em um evento pós-compilação. Para obter mais informações, confira Especificando eventos de build. Os tempos de build serão menores se você usar atributos e um evento pós-build, em comparação com o uso de opções de vinculador.
As seguintes opções do linker oferecem suporte à assinatura de assembly:
/KEYFILE (especificar chave ou par de chaves para assinar um assembly)
/KEYCONTAINER (Especificar um contêiner de chave para assinar um assembly)
Para saber mais sobre assemblies fortes, confira Criando e usando assemblies de nomes fortes.