Partilhar via


Migrar da análise herdada (FxCop) para a análise de origem (analisadores .NET)

A análise de origem por analisadores da .NET Compiler Platform ("Roslyn") substitui a análise herdada de código gerenciado. Para modelos de projeto mais recentes, como projetos .NET Core e .NET Standard, a análise herdada não está disponível.

Muitas das regras da análise herdada (FxCop) já foram reescritas para analisadores do .NET, um conjunto de analisadores de código Roslyn. Os analisadores Roslyn executam a análise baseada em código-fonte durante a execução do compilador. Os resultados do analisador são relatados junto com os resultados do compilador.

Para obter mais informações sobre as diferenças entre a análise herdada e a análise de origem, consulte o seguinte:

Migração

Para migrar para a análise de origem:

  1. Habilitar ou instalar analisadores de .NET. Assim como as violações de regras da análise herdada, violações da análise de código-fonte aparecem na janela Lista de Erros do Visual Studio. Além disso, violações da análise de código-fonte também aparecem no editor de código como linhas onduladas sob o código transgressor. A cor da linha ondulada depende da configuração de gravidade da regra. Para ver o status das regras portadas para os novos analisadores de .NET, confira Regras portadas e sem suporte.

    Observação

    Antes do Visual Studio 2019 16.8 e do .NET 5.0, esses analisadores eram enviados como um Microsoft.CodeAnalysis.FxCopAnalyzers pacote NuGet. Começando no Visual Studio 2019 16.8 e no .NET 5.0, esses analisadores são incluídos no SDK do .NET. Eles também estão disponíveis como Microsoft.CodeAnalysis.NetAnalyzers pacote NuGet. Para obter mais informações, consulte Migrar de analisadores FxCop para analisadores de .NET.

  2. Para resolver o CA0507, verifique se a análise de código herdada está desabilitada para o projeto. No arquivo de projeto, defina a propriedade RunCodeAnalysis como falsa:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Ou abra Propriedades do Projeto>Code Analysis e desabilite a configuração Executar no build.

Configuração

Para saber mais sobre como configurar os analisadores de .NET: