Passo a passo: Análise de código gerenciado para defeitos de código
Esta explicação passo a passo, você pode analisar um projeto gerenciado para defeitos de código usando a ferramenta de análise de código.
Esta explicação passo a passo guiará você pelo processo de análise de código de uso para analisar sua.NET gerenciado assemblies de código de conformidade com o Microsoft.NET Framework Design Guidelines.
Esta explicação passo a passo, você:
- Analisar e corrigir os avisos de defeitos de código.
Pré-requisitos
- Visual Studio Premium.
Criar uma biblioteca de classe
Para criar uma biblioteca de classe |
|
Analisar o projeto.
Para analisar um projeto gerenciado para defeitos de código
Selecione o projeto de CodeAnalysisManagedDemo em Solution Explorer.
No menu Project, clique em Properties..
A página de propriedades de CodeAnalysisManagedDemo é exibida.
Clique em códigoAnalysis.
Certifique-se de que Habilitara análise de código na compilação (define a constante CODE_ANALYSIS) está marcada.
Do executa este conjunto de regras lista suspensa, selecione Todas as regras do Microsoft.
Sobre o arquivo menu, clique em Salvar itens selecionadose feche as páginas de propriedades de ManagedDemo.
Sobre o Build menu, clique em Build ManagedDemo.
Os avisos de compilação do projeto CodeAnalysisManagedDemo são relatados no A análise de código e saída windows.
Se o Análise de código janela não aparece, diante do Analyze menu, escolha Windows e, em seguida Escolha Análise de código.
Corrigir os problemas de análise de código
Para corrigir violações de regra de análise de código
Sobre o Exibir menu, clique em Error List.
Dependendo do perfil desenvolvedor que você escolheu, você pode ter que apontar para Other Windows na Exibir menu e clique Error List.
Em Solution Explorer, clique em Mostrar todos os arquivos.
Em seguida, expanda o nó de propriedades e, em seguida, abra o arquivo AssemblyInfo. cs.
Use a tabela a seguir para corrigir os avisos:
Avisos |
Para corrigir o aviso |
---|---|
CA1014: Marcar assemblies com CLSCompliantAttribute: Microsoft.Design: 'demo' deve ser marcada com CLSCompliantAttribute e seu valor deve ser true. |
|
CA1032: Implementar construtores de exceção padrão: Microsoft.Design: adicionar o seguinte construtor para essa classe: public demo(String) |
|
CA1032: Implementar construtores de exceção padrão: Microsoft.Design: adicionar o seguinte construtor para essa classe: demonstração pública (String, exceção) |
|
CA1032: Implementar construtores de exceção padrão: Microsoft.Design: adicionar o seguinte construtor para essa classe: protegido demo (SerializationInfo, StreamingContext) |
|
CA1032: Implementar construtores de exceção padrão: Microsoft.Design: adicionar o seguinte construtor para essa classe: public demo() |
|
CA1709: Identificadores devem ser minúsculas corretamente: Microsoft.Naming: a capitalização do nome do espaço para nome 'testCode' para corrigir, alterá-la de 'TestCode'. |
|
CA1709: Identificadores devem ser minúsculas corretamente: Microsoft.Naming: a capitalização de demonstração' nome do tipo' para corrigir, alterá-la de "Demonstração". |
|
CA1709: Identificadores devem ser minúsculas corretamente: Microsoft.Naming: a capitalização do item' nome do membro' para corrigir, alterá-lo para 'Item'. |
|
CA1710: Identificadores devem ter o correto sufixo: Microsoft.Naming: renomear 'testCode.demo' para terminar com 'Exceção'. |
|
CA2210: A Assemblies devem ter nomes fortes válidos: Assine 'ManagedDemo' com uma chave de nome forte. |
|
CA2237: Os tipos ISerializable da marca com o SerializableAttribute: Microsoft.Usage: adicionar um atributo [Serializable] digitar 'demo', como esse tipo implementa ISerializable. |
|
Depois de concluir as alterações, o arquivo Class1. cs deve parecer com o seguinte:
//CodeAnalysisManagedDemo
//Class1.cs
using System;
using System.Runtime.Serialization;
namespace TestCode
{
[Serializable()]
public class DemoException : Exception
{
public DemoException () : base() { }
public DemoException(String s) : base(s) { }
public DemoException(String s, Exception e) : base(s, e) { }
protected DemoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public static void Initialize(int size) { }
protected static readonly int _item;
public static int Item { get { return _item; } }
}
}
Excluir avisos de análise de código
Para excluir avisos de defeitos de código
Para cada um dos avisos restantes, faça o seguinte:
Na janela de análise de código, selecione o aviso.
Escolha ações, em seguida, escolha Suprimir mensageme escolha No arquivo de supressão de projeto.
Para mais informações, consulte Como: suprimir avisos usando o Item de Menu.
Crie o projeto.
O projeto é compilado sem erros ou avisos.