Compartilhar via


Assemblies com Nome Forte (Assinatura de Assemblies) (C++/CLI)

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:

Para saber mais sobre assemblies fortes, confira Criando e usando assemblies de nomes fortes.

Confira também

Programação do .NET com C++/CLI (Visual C++)