Compartilhar via


Visão geral da análise herdada para código gerenciado no Visual Studio

O Visual Studio pode executar a análise de código do código gerenciado de duas maneiras: com a análise herdada, também conhecida como análise estática fxcop de assemblies gerenciados e com os analisadores de código mais modernos baseados em .NET Compiler Platform. Este tópico aborda a análise herdada. Para saber mais sobre a análise de código baseada em .NET Compiler Platform, consulte Visão geral de analisadores baseados em .NET Compiler Platform.

A análise de código gerenciado analisa os assemblies gerenciados e relata informações sobre assemblies, como violações das regras de programação e de design estabelecidas nas Diretrizes do .NET Design.

A ferramenta de análise representa as verificações que executa durante uma análise como mensagens de aviso. As mensagens de aviso identificam problemas de programação e de design relevantes e, quando possível, fornecem informações de como corrigir o problema.

Observação

A análise herdada (análise de código estático) não tem suporte para projetos .NET Core e .NET Standard no Visual Studio. Se você executar a análise de código em um projeto .NET Core ou .NET Standard como parte do msbuild, verá um erro semelhante ao erro : CA0055: não foi possível identificar a plataforma para <your.dll>. Para analisar o código em projetos .NET Core ou .NET Standard, use analisadores de código.

Integração ao IDE (ambiente de desenvolvimento integrado)

Você pode executar a análise de código em seu projeto manual ou automaticamente.

Para executar a análise de código sempre que você compilar um projeto, selecione a opção na página de propriedades Análise de Código do projeto. Para saber mais, confira Como habilitar e desabilitar o redirecionamento automático de associações.

Para executar a análise de código manualmente em um projeto, na barra de menus, escolha Analisar >Executar Análise de Código>Executar Análise de Código no <projeto>.

Conjuntos de regras

As regras de análise de código gerenciado são agrupadas em conjuntos de regras. Você pode usar um dos conjuntos de regras padrão da Microsoft ou criar um conjunto de regras personalizado definido para atender a uma necessidade específica.

Suprimir avisos

Geralmente, é útil indicar que um aviso não é aplicável. Isso informa ao desenvolvedor e a outras pessoas que poderão examinar o código mais tarde, que um aviso foi investigado e, em seguida, suprimido ou ignorado.

A supressão de avisos no código-fonte é implementada por meio de atributos personalizados. Para suprimir um aviso, adicione o atributo SuppressMessage ao código-fonte, conforme é mostrado no exemplo a seguir:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
Public class MyClass
{
   // code
}

Para obter mais informações, confira Suprimir avisos.

Observação

Se você migrar um projeto para o Visual Studio 2019, poderá de repente enfrentar um grande número de avisos de análise de código. Se você não estiver pronto para corrigir os avisos, poderá suprimir todos eles escolhendo Analisar>Compilar e Suprimir Problemas Ativos.

Executar análise de código como parte da política de check-in

Em uma organização, talvez convenha exigir que todos os check-ins satisfaçam determinadas políticas. Especificamente, convém garantir que estas políticas sejam seguidas:

  • Não há nenhum erro de build no check-in do código.

  • A análise de código é executada como parte do build mais recente.

Você pode garantir isso especificando políticas de check-in. Para obter mais informações, confira Melhorando a qualidade do código com políticas de check-in do projeto.

Integração ao Team Build

Você pode usar os recursos integrados do sistema de build para executar a ferramenta de análise como parte do processo de build. Para obter mais informações, confira Azure Pipelines.