Condividi tramite


Eseguire la migrazione da analizzatori FxCop NuGet ad analizzatori .NET

L'analisi dell'origine da analizzatori della piattaforma del compilatore .NET ("Roslyn") sostituisce l'analisi legacy per il codice gestito. Molte delle regole di analisi legacy (FxCop) sono già state riscritte come analizzatori di origine.

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. Se non si vuole passare a .NET 5+ SDK o se si preferisce un modello basato su pacchetto NuGet, gli analizzatori sono disponibili anche nel Microsoft.CodeAnalysis.NetAnalyzers pacchetto NuGet. Si potrebbe anche preferire un modello basato su pacchetto per gli aggiornamenti delle versioni su richiesta.

Nota

Gli analizzatori .NET di prima parte sono indipendenti dalla piattaforma di destinazione. Ovvero, il progetto non deve avere come destinazione una piattaforma .NET specifica. Gli analizzatori funzionano per i progetti destinati net5.0 a e versioni precedenti di .NET, ad esempio netcoreapp, netstandarde net472.

Passaggi per la migrazione

A partire dalla versione 3.3.2, Microsoft.CodeAnalysis.FxCopAnalyzers il pacchetto NuGet è stato deprecato. Per eseguire la migrazione del progetto o della soluzione dagli Microsoft.CodeAnalysis.FxCopAnalyzers analizzatori .NET, seguire questa procedura:

  1. Disinstallare il Microsoft.CodeAnalysis.FxCopAnalyzers pacchetto NuGet

  2. Abilitare o installare analizzatori .NET. Si noti che non è necessario modificare la piattaforma di destinazione del progetto.

  3. Abilitare regole aggiuntive: Microsoft.CodeAnalysis.NetAnalyzers è molto più conservativo rispetto a Microsoft.CodeAnalysis.FxCopAnalyzers. A differenza del pacchetto FxCopAnalyzers, include solo alcune regole di correttezza abilitate per impostazione predefinita come avvisi di compilazione. È possibile abilitare regole aggiuntive personalizzando la proprietà MSBuild AnalysisMode . Ad esempio, l'impostazione della proprietà su AllEnabledByDefault consentirà a tutte le regole della CA applicabili come avvisi di compilazione per impostazione predefinita.

    <PropertyGroup>
      <AnalysisMode>AllEnabledByDefault</AnalysisMode>
    </PropertyGroup>