レガシ分析 (FxCop) からソース分析 (.NET アナライザー) に移行する

.NET Compiler Platform ("Roslyn") アナライザーによるソース分析は、マネージド コードのレガシ分析に代わるものです。 .NET Core プロジェクトや .NET Standard プロジェクトなどの新しいプロジェクト テンプレートでは、レガシ分析は使用できません。

レガシ分析 (FxCop) 規則の多くは、.NET アナライザー (Roslyn コード アナライザーのセット) 用に既に書き換えられています。 Roslyn アナライザーでは、コンパイラの実行中にソースコード ベースの分析が実行されます。 アナライザーの結果は、コンパイラーの結果と共に報告されます。

レガシ分析とソース分析の違いの詳細については、次の記事をご覧ください。

移行

ソース分析に移行するには:

  1. .NET アナライザーを有効にするか、インストールします。 従来の分析のルール違反と同様に、ソース コード分析の違反は Visual Studio の [エラー一覧] ウィンドウに表示されます。 さらに、ソース コード分析の違反は、コード エディターで問題のあるコードの下に "波線" としても示されます。 波線の色は、ルールの重要度設定によって異なります。 新しい .NET アナライザーに移植されたルールの状態を確認するには、移植されたルールと移植されていないルールに関する記事をご覧ください。

    Note

    Visual Studio 2019 16.8 および .NET 5.0 よりも前は、これらのアナライザーは Microsoft.CodeAnalysis.FxCopAnalyzersNuGet パッケージとして出荷されていました。 Visual Studio 2019 16.8 および .NET 5.0 以降では、これらのアナライザーは .NET SDK に含まれています。 これらは、Microsoft.CodeAnalysis.NetAnalyzersNuGet パッケージとして入手することもできます。 詳細については、「FxCop アナライザーから .NET アナライザーに移行する」をご覧ください。

  2. CA0507 を解決するには、プロジェクトでレガシ コード分析が無効になっている必要があります。 プロジェクト ファイルで RunCodeAnalysis プロパティを false に設定します。

    <RunCodeAnalysis>false</RunCodeAnalysis>

    または、[プロジェクトのプロパティ]>[コード分析] を開き、[ビルド時に実行] 設定を無効にします。

構成

.NET アナライザーの構成方法の詳細を確認するには:

  • .NET アナライザーを構成するには、.NET アナライザーの構成に関する記事をご覧ください。

  • EditorConfig またはルール セット ファイルで定義済みのルールを使用してアナライザーを構成する方法については、ルールのカテゴリの有効化に関する記事をご覧ください。