Assemblies devem ter nomes fortes válido

TypeName

AssembliesShouldHaveValidStrongNames

CheckId

CA2210

Category (Categoria)

Microsoft.Design

Quebrando alterar

Não separável

Causa

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

Descrição da regra

Esta regra recupera e verifica o nome forte de um assembly.Uma violação ocorre quando qualquer uma das seguintes opções for verdadeira:

  • O assembly não tem um nome forte.

  • O assembly foi alterado depois de entrar.

  • O assembly é assinado atraso.

  • O assembly foi assinado incorretamente ou falha ao entrar.

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

O nome forte protege os clientes de carregar um assembly que foi violado inadvertidamente.Assemblies sem nomes de alta segurança não devem ser implantados fora cenários muito limitados.Se você compartilha ou distribuir assemblies que não estão conectados corretamente, o assembly pode ser violado, o Common linguagem tempo de execução não pode carregar o assembly ou o usuário pode ter que desabilitar a verificação no seu computador.Um assembly sem um nome de alta segurança tem das seguintes desvantagens:

  • Não é possível verificar sua origem.

  • O common linguagem tempo de execução não é possível avisar os usuários se o Sumário do assembly tiver sido alterado.

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

Observe que para carregar e analisar um assembly de assinatura atrasada, você deve desabilitar a verificação de 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. In Visual Studio, abra sua solução.

  2. In O gerenciador de soluções, clicar com o botão direito do mouse em seu projeto e, em seguida, clique em Propriedades.

  3. clicar no Assinatura guia e selecionar o Assinar o assembly a caixa de seleção.

  4. De escolher um arquivo de chave de nome forte, selecionar Novo.

    The Criar chave de nome forte janela será exibida.

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

  6. escolher se deseja proteger a chave com uma senha e, em seguida, clicar OK.

  7. In O gerenciador de soluções, clicar com o botão direito do mouse em seu projeto e, em seguida, clique em Compilação.

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

  • Use a ferramenta nome forte (sn.exe).

Quando suprimir avisos

Suprimir somente um aviso da regra, se o assembly é usado em um ambiente onde violação com o Sumário não é uma preocupação.

Consulte também

Tarefas

Como: Assinar um assembly com um nome forte

Referência

Ferramenta Strong Name (Sn.exe)

System.Reflection.AssemblyKeyFileAttribute

System.Reflection.AssemblyKeyNameAttribute