Compartilhar via


CA2210: A Assemblies devem ter nomes fortes válidos

TypeName

AssembliesShouldHaveValidStrongNames

CheckId

CA2210

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Não separável

Causa

Um assembly não está assinado com um nome forte, o nome forte não pôde ser verificado ou o nome forte não seria válido sem as configurações atuais do registro do computador.

Descrição da regra

Esta regra recupera e verifica o nome forte de um assembly.Uma violação ocorre se qualquer um dos procedimentos a seguir forem verdadeiras:

  • O assembly não tem um nome forte.

  • O assembly foi alterado depois de entrar.

  • O assembly é assinado por atraso.

  • O assembly foi assinado incorretamente ou falha ao entrar.

  • O assembly requer configurações do registro para passar pela verificação.Por exemplo, a ferramenta Strong Name (sn. exe) foi usada para ignorar a verificação para o assembly.

O nome forte protege clientes de inadvertidamente carregar um assembly que foi violado.Os assemblies sem nomes de alta segurança não devem ser implantados fora cenários muito limitados.Se você compartilhar ou distribuir assemblies que não estão assinados corretamente, o assembly pode ser violado, o common language runtime não pode carregar o assembly ou o usuário pode ter que desativar a verificação no seu computador.Um conjunto sem um nome forte tem das seguintes desvantagens:

  • Não não possível verificar suas origens.

  • O common language runtime não é possível avisar os usuários se o conteúdo do assembly tiver sido alterado.

  • Ele não pode ser carregado no cache global de assemblies.

Observe que para carregar e analisar um assembly com assinatura atrasada, você deve desativar a verificação para o assembly.

Como corrigir violações

Para criar um arquivo de chave

Use um dos seguintes procedimentos:

Para assinar seu assembly com um nome forte no Visual Studio

  1. Na Visual Studio, abra a sua solução.

  2. Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique em Propriedades.

  3. Clique no Signing e selecione o Sign the assembly caixa de seleção.

  4. De Choose a strong name key file, selecione New.

    O Create Strong Name Key janela será exibida.

  5. Em nome do arquivo de chave, digite um nome para a sua chave de nome forte.

  6. Escolha se deseja proteger a chave com a senha e clique em OK.

  7. Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique em Build.

Para assinar seu assembly com um nome forte fora de Visual Studio

Quando suprimir avisos

Suprimir somente um aviso da regra, se o assembly for usado em um ambiente onde violem o conteúdo não é uma preocupação.

Consulte também

Tarefas

Como: assinar um Assembly com um nome forte

Referência

Sn. exe (ferramenta de nome forte)

System.Reflection.AssemblyKeyFileAttribute

System.Reflection.AssemblyKeyNameAttribute