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
, netstandard
e 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:
Disinstallare il
Microsoft.CodeAnalysis.FxCopAnalyzers
pacchetto NuGetAbilitare o installare analizzatori .NET. Si noti che non è necessario modificare la piattaforma di destinazione del progetto.
Abilitare regole aggiuntive:
Microsoft.CodeAnalysis.NetAnalyzers
è molto più conservativo rispetto aMicrosoft.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à suAllEnabledByDefault
consentirà a tutte le regole della CA applicabili come avvisi di compilazione per impostazione predefinita.<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>