FxCop アナライザーから .NET アナライザーへの移行

.NET Compiler Platform ("Roslyn") アナライザーによるソース分析は、マネージド コードのレガシ分析に代わるものです。 レガシ分析 (FxCop) 規則の多くは、ソース アナライザーとして既に書き換えられています。

Visual Studio 2019 16.8 および .NET 5.0 よりも前は、これらのアナライザーは Microsoft.CodeAnalysis.FxCopAnalyzersNuGet パッケージとして出荷されていました。

Visual Studio 2019 16.8 および .NET 5.0 以降では、これらのアナライザーは .NET SDK に含まれています。 .NET 5 以降の SDK に移行しない場合、または NuGet パッケージベースのモデルを使用する場合は、Microsoft.CodeAnalysis.NetAnalyzersNuGet パッケージでアナライザーを入手することもできます。 オンデマンドのバージョン更新には、パッケージベースのモデルを使用することをお勧めします。

Note

ファーストパーティの .NET アナライザーは、ターゲットプラットフォームに依存しません。 つまり、プロジェクトで特定の .NET プラットフォームをターゲットにする必要はありません。 これらのアナライザーは、net5.0 のほか、以前のバージョンの .NET (netcoreappnetstandardnet472 など) をターゲットとするプロジェクトで機能します。

移行ステップ

バージョン 3.3.2 以降では、Microsoft.CodeAnalysis.FxCopAnalyzers NuGet パッケージは非推奨になりました。 次の手順に従って、プロジェクトまたはソリューションを Microsoft.CodeAnalysis.FxCopAnalyzers から .NET アナライザーに移行してください。

  1. Microsoft.CodeAnalysis.FxCopAnalyzers NuGet パッケージをアンインストールします。

  2. .NET アナライザーを有効にするか、インストールします。 プロジェクトのターゲット プラットフォームを変更する必要はありません。

  3. 追加のルールを有効にします。Microsoft.CodeAnalysis.NetAnalyzersMicrosoft.CodeAnalysis.FxCopAnalyzers に比べてはるかに保守的です。 FxCopAnalyzers パッケージとは異なり、ビルドの警告として既定で有効になっている正確性規則はごくわずかです。 AnalysisMode MSBuild プロパティをカスタマイズすることで、追加のルールを有効にすることができます。 たとえば、このプロパティを AllEnabledByDefault に設定すると、適用可能なすべての CA ルールがビルドの警告として既定で有効になります。

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