.NET Compiler Platform (Roslyn) アナライザーを使用したコード分析

.NET Compiler Platform (Roslyn) アナライザーを使用して、C# または Visual Basic コードのスタイル、品質、保守容易性、設計、その他の問題を検査します。 この検査または分析は、開いているすべてのファイルの設計時に行われます。

アナライザーは、次のグループに分類されます。

アナライザーの重要度レベル

各 Roslyn アナライザー ルールまたは診断には、プロジェクトに合わせてカスタマイズできる規定の重大度と抑制の状態があります。

重大度レベルには、エラー、警告、提案、サイレント、なし、および既定値が含まれます。 詳細と動作については、「重大度レベルの構成」を参照してください。

規則違反

アナライザーは、アナライザー ルール違反を検出した場合、[エラー一覧] ウィンドウとコード エディターで報告します。

次のスクリーンショットは、[エラー一覧] ウィンドウで報告されたルール違反を示しています。 エラー一覧に報告されるアナライザーの違反は、ルールの重要度レベルの設定と一致します。

[エラー一覧] ウィンドウのアナライザー違反を示すスクリーンショット。

また、アナライザーのルール違反は、コード エディターで問題を起こしているコードの下に波線として表示されます。 たとえば、次のスクリーンショットは 3 つの違反 (1 つのエラー (赤い波線)、1 つの警告 (緑の波線)、および 1 つの候補 (3 つの灰色の点) を示しています。

コード エディターのエラー、警告、および提案マークを示すスクリーンショット。

コード修正

多くの診断には、1 つ以上のコード修正が関連付けられており、これを適用してルール違反を修正できます。 コード修正は、電球アイコン メニューに、他の種類のクイック アクションと共に示されます。 これらのコード修正についての詳細は、「共通のクイック アクション」を参照してください。

コード エディターのアナライザー違反とクイック アクションのコード修正を示すスクリーンショット。

アナライザーの重要度レベルの構成

アナライザー ルールの重要度は、EditorConfig ファイルで、または電球メニューから構成できます。

ビルド時および入力時に、コードを検査するようにアナライザーを構成することもできます。 現在のドキュメントのみで実行するか、開いているすべてのドキュメントで実行するか、またはソリューション全体で実行するようにライブ コード分析のスコープを構成できます。 詳細については、「.NET 用コード分析ルールを構成する」を参照してください。

ヒント

コード アナライザーからのビルド時のエラーと警告が表示されるのは、アナライザーが NuGet パッケージとしてインストールされている場合のみです。 組み込みアナライザー (たとえば、IDE0067 や IDE0068) はビルド時には実行されません。

外部コード アナライザーをインストールする

Visual Studio には、常にアクティブな Roslyn アナライザーのコア セットが含まれています。 より多くのコード アナライザーが必要な場合は、NuGet パッケージを使用して、すべてのプロジェクトに外部アナライザーをインストールできます。 また、Visual Studio .vsix の拡張機能として使用できるアナライザーもあります。この場合、Visual Studio で開くすべてのソリューションに適用されます。 これらの 2 つの異なるタイプのアナライザーのインストールについては、「コード アナライザーのインストール」を参照してください。

範囲

NuGet パッケージとしてアナライザーをインストールする (推奨される方法) 場合、NuGet パッケージがインストールされているプロジェクトにのみ適用されます。 それ以外で、Visual Studio 拡張機能としてアナライザーをインストールする場合は、ソリューション レベルで Visual Studio のすべてのインスタンスに適用されます。 チーム環境では、NuGet パッケージとしてインストールしたアナライザーは、そのプロジェクトで作業するすべての開発者 のスコープ内にあります。

Note

ファースト パーティのアナライザーは、.NET SDK 内に付属しています。 これらのアナライザーは、Microsoft.CodeAnalysis.NetAnalyzersNuGet パッケージとしてインストールするのではなく、.NET SDK から有効にすることをお勧めします。 .NET SDK からアナライザーを有効にした場合は、SDK を更新するとすぐに、アナライザーのバグ修正と新しいアナライザーが自動的に取得されるようになります。 アナライザーの詳細については、「ファースト パーティの .NET アナライザーを有効またはインストールする」を参照してください。

ビルド エラー

コマンド ラインまたは継続的インテグレーション (CI) ビルドを使用して、ビルド時にルールを適用するには、次のいずれかのオプションを選択します。

  • .NET 5.0 以降のプロジェクトを作成します。これにより、既定でコード分析が有効になります。 以前のバージョンの .NET を対象とするプロジェクトでコード分析を有効にするには、EnableNETAnalyzers プロパティを true に設定します。

  • アナライザーを NuGet パッケージとしてインストールします。 Visual Studio の拡張機能としてアナライザーをインストールした場合、アナライザーの警告とエラーはビルド レポートに示されません。

次のスクリーンショットは、アナライザー ルール違反を含むプロジェクトのビルドからのコマンドライン ビルド出力を示しています。

開発者コマンド プロンプトのルール違反を含む MSBuild 出力を示すスクリーンショット。

ルールの重要度

アナライザー ルールの重要度を構成する場合、NuGet パッケージとしてアナライザーをインストールする必要があります。 Visual Studio 拡張機能としてインストールされたアナライザーからルールの重要度を構成することはできません。

次のステップ