次の方法で共有


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

.NET コンパイラ プラットフォーム ("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 パッケージでも使用できます。 オンデマンド バージョンの更新には、パッケージ ベースのモデルを使用することをお選びになる場合があります。

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

移行の手順

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

  1. NuGet パッケージ Microsoft.CodeAnalysis.FxCopAnalyzers アンインストールする

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

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

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