NuGet FxCop アナライザーから .NET アナライザーへの移行
.NET Compiler Platform ("Roslyn") アナライザーによるソース分析は、マネージド コードのレガシ分析に代わるものです。 レガシ分析 (FxCop) 規則の多くは、ソース アナライザーとして既に書き換えられています。
Visual Studio 2019 16.8 および .NET 5.0 より前では、これらのアナライザーは Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet パッケージとして出荷されていました。
Visual Studio 2019 16.8 および .NET 5.0 以降では、これらのアナライザーは .NET SDK に含まれています。 .NET 5 以降の SDK に移行しない場合、または NuGet パッケージベースのモデルを使用する場合は、Microsoft.CodeAnalysis.NetAnalyzers
NuGet パッケージでアナライザーを入手することもできます。 オンデマンドのバージョン更新には、パッケージベースのモデルを使用することをお勧めします。
Note
ファーストパーティの .NET アナライザーは、ターゲットプラットフォームに依存しません。 つまり、プロジェクトで特定の .NET プラットフォームをターゲットにする必要はありません。 これらのアナライザーは、net5.0
のほか、以前のバージョンの .NET (netcoreapp
、netstandard
、net472
など) をターゲットとするプロジェクトで機能します。
移行ステップ
バージョン 3.3.2
以降では、Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet パッケージは非推奨になりました。 次の手順に従って、プロジェクトまたはソリューションを Microsoft.CodeAnalysis.FxCopAnalyzers
から .NET アナライザーに移行してください。
Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet パッケージをアンインストールします。.NET アナライザーを有効にするか、インストールします。 プロジェクトのターゲット プラットフォームを変更する必要はありません。
追加のルールを有効にします。
Microsoft.CodeAnalysis.NetAnalyzers
はMicrosoft.CodeAnalysis.FxCopAnalyzers
に比べてはるかに保守的です。 FxCopAnalyzers パッケージとは異なり、ビルドの警告として既定で有効になっている正確性規則はごくわずかです。 AnalysisMode MSBuild プロパティをカスタマイズすることで、追加のルールを有効にすることができます。 たとえば、このプロパティをAllEnabledByDefault
に設定すると、適用可能なすべての CA ルールがビルドの警告として既定で有効になります。<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>