次の方法で共有


.NET コンパイラ プラットフォーム (Roslyn) アナライザーを使用したコード分析

.NET コンパイラ プラットフォーム (Roslyn) アナライザーは、スタイル、品質、保守容易性、設計、およびその他の問題について C# または Visual Basic コードを検査します。 この検査または分析は、開いているすべてのファイルのデザイン時に発生します。

アナライザーは、次のグループに分かれています。

アナライザーの深刻度レベル

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

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

規則違反

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

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

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

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

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

コード修正

多くの診断には、規則違反を修正するために適用できる 1 つ以上の コード修正 が関連付けられています。 コード修正は、電球アイコン メニューと他の種類の クイック アクションに表示されます。 コード修正の詳細については、「 一般的なクイック アクション」を参照してください。

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

アナライザーの重大度レベルを構成する

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

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

ヒント

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

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

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

範囲

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

ファースト パーティ アナライザーは、.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 拡張機能としてインストールされたアナライザーからルールの重要度を構成することはできません。

次のステップ