Compartilhar via


CA2210: Assemblies devem ter nomes fortes válidos

Item Valor
RuleId CA2210
Categoria Microsoft.Design
Alteração da falha Sem interrupção

Causa

Um assembly não é 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.

Observação

Esta regra foi preterida. Para obter mais informações, confira Regras preteridas.

Descrição da regra

Essa regra recupera e verifica o nome forte de um assembly. Ocorrerá uma violação se qualquer uma das seguintes opções for verdadeira:

  • O assembly não tem um nome forte.

  • O assembly foi alterado após a assinatura.

  • O assembly foi assinado com atraso.

  • O assembly foi assinado incorretamente ou a assinatura falhou.

  • O assembly requer que as configurações do registro passem pela verificação. Por exemplo, a ferramenta Nome Forte (Sn.exe) foi usada para ignorar a verificação do assembly.

O nome forte protege clientes do carregamento desconhecido de um assembly adulterado. Os assemblies sem nomes fortes não devem ser implantados fora de cenários muito limitados. Se você compartilhar ou distribuir assemblies não assinados corretamente, o assembly poderá ser adulterado, o Common Language Runtime poderá não carregar o assembly ou o usuário talvez precise desabilitar a verificação em seu computador. Um assembly sem um nome forte tem as seguintes desvantagens:

  • Suas origens não podem ser verificadas.

  • O Common Language Runtime não poderá avisar os usuários se o conteúdo do assembly foi alterado.

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

Observe que, para carregar e analisar um assembly assinado com atraso, você deve desabilitar a verificação do assembly.

Como corrigir violações

Criar um par de chaves

Use um dos seguintes procedimentos:

Assinar o assembly com um nome forte no Visual Studio

  1. No Visual Studio, abra a solução.

  2. No Gerenciador de Soluções, clique com o botão direito do mouse no seu projeto e clique em Propriedades.

  3. Clique na guia Assinatura e marque a caixa de seleção Assinar o assembly.

  4. Em Escolha um arquivo de chaves de nome forte, selecione Novo.

    A janela Criar Chave de Nome Forte será exibida.

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

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

  7. No Gerenciador de Soluções, clique com o botão direito do mouse no seu projeto e clique em Criar.

Assinar o assembly com um nome forte fora do Visual Studio

Use a ferramenta Nome forte (Sn.exe).

Quando suprimir avisos

Apenas suprima o aviso dessa regra se o assembly for usado em um ambiente em que a violação do conteúdo não será uma preocupação.

Confira também