Partilhar via


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

A análise de origem por analisadores da plataforma de compilador .NET ("Roslyn") substitui a análise herdada para 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 de análise legada (FxCop) já foram reescritas para analisadores .NET, um conjunto de analisadores de código Roslyn. Os analisadores Roslyn executam a análise baseada no código-fonte durante a execução do compilador. Os resultados do analisador são relatados juntamente com os resultados do compilador.

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

Migração

Para migrar para a análise de origem:

  1. Habilite ou instale os analisadores .NET. Como as violações de regras de análise herdadas, as violações de análise de código-fonte aparecem na janela Lista de Erros no Visual Studio. Além disso, as violações de análise de código-fonte também aparecem no editor de código como squiggles sob o código ofensivo. A cor do squiggle depende da definição de severidade da regra. Para ver o status das regras portadas para os novos analisadores .NET, consulte Regras portadas e não portadas.

    Observação

    Antes do Visual Studio 2019 16.8 e do .NET 5.0, esses analisadores eram fornecidos como Microsoft.CodeAnalysis.FxCopAnalyzerspacote NuGet. A partir do Visual Studio 2019 16.8 e do .NET 5.0, esses analisadores estão incluídos no SDK do .NET. Eles também estão disponíveis como Microsoft.CodeAnalysis.NetAnalyzerspacote NuGet. Para obter mais informações, consulte Migrar de analisadores FxCop para analisadores .NET.

  2. Para resolver o CA0507, certifique-se de que a análise de código herdado está desativada para o projeto. No arquivo de projeto, defina a RunCodeAnalysis propriedade como false:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Ou abra Propriedades do Projeto>Análise de Código e desative a configuração Executar na compilação.

Configuração

Para saber mais sobre como configurar os analisadores .NET: