Eseguire la migrazione dall'analisi legacy (FxCop) all'analisi di origine (analizzatori.NET)

L'analisi dell'origine da analizzatori della piattaforma del compilatore .NET ("Roslyn") sostituisce l'analisi legacy per il codice gestito. Per i modelli di progetto più recenti, ad esempio i progetti .NET Core e .NET Standard, l'analisi legacy non è disponibile.

Molte delle regole di analisi legacy (FxCop) sono già state riscritte per gli analizzatori .NET, un set di analizzatori di codice Roslyn. Gli analizzatori Roslyn eseguono l'analisi basata sul codice sorgente durante l'esecuzione del compilatore. I risultati degli analizzatori vengono indicati insieme ai risultati del compilatore.

Per altre informazioni sulle differenze tra l'analisi legacy e l'analisi delle origini, vedere quanto segue:

Migrazione

Per eseguire la migrazione all'analisi dell'origine:

  1. Abilitare o installare gli analizzatori .NET. Analogamente alle violazioni delle regole di analisi legacy, le violazioni dell'analisi del codice sorgente vengono visualizzate nella finestra Elenco errori in Visual Studio. Inoltre, le violazioni dell'analisi del codice sorgente vengono visualizzate nell'editor di codice come ondulate sotto il codice che causa l'errore. Il colore della linea ondulata dipende dall'impostazione di gravità della regola. Per visualizzare lo stato delle regole convertite nei nuovi analizzatori .NET, vedere Regole convertite e nonportate.

    Nota

    Prima di Visual Studio 2019 16.8 e .NET 5.0, questi analizzatori vengono forniti come Microsoft.CodeAnalysis.FxCopAnalyzers pacchetto NuGet. A partire da Visual Studio 2019 16.8 e .NET 5.0, questi analizzatori sono inclusi in .NET SDK. Sono disponibili anche come Microsoft.CodeAnalysis.NetAnalyzers pacchetto NuGet. Per altre informazioni, vedere Eseguire la migrazione da analizzatori FxCop a analizzatori .NET.

  2. Per risolvere CA0507, assicurarsi che l'analisi del codice legacy sia disabilitata per il progetto. Nel file di progetto impostare la RunCodeAnalysis proprietà su false:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    In alternativa, aprire Project Properties Code Analysis (Analisi codice proprietà>progetto) e disabilitare l'impostazione Esegui in fase di compilazione.

Impostazione

Per altre informazioni su come configurare gli analizzatori .NET: