ルール セットを使用してコード分析規則をグループ化する
Visual Studio でコード分析を構成するときに、組み込みの "ルール セット" の一覧から選択できます。 ルール セットとは、そのプロジェクトの対象となる問題と特定の条件を示すコード分析規則のグループです。 たとえば、公開されている API のコードをスキャンすることを目的としたルール セットを適用できます。 また、使用可能なすべてのルールが含まれたルール セットを適用することもできます。
ルールを追加または削除したり、[エラー一覧] に警告またはエラーとして表示するためにルールの重大度を変更したりすることで、ルール セットをカスタマイズできます。 カスタマイズした規則セットで、特定の開発環境の要件を満たすことができます。 ルール セットをカスタマイズする場合、ルール セット エディターには、このプロセスで役立つ検索ツールとフィルター処理ツールが用意されています。
ルール セットは、マネージド コード分析、マネージド コードのレガシ分析、C++ コード分析に使用できます。
Note
Visual Studio 2019 バージョン 16.3 以降、EditorConfig ファイルを使用して .NET ソース コード分析の規則を構成できますが、レガシ分析はできません。 詳細については、FAQ の EditorConfig とルール セットに関するセクションを参照してください。
ルール セットの形式
ルール セットは、.ruleset ファイルに XML 形式で指定されます。 ID と "アクション" で構成されるルールは、ファイル内でアナライザー ID と名前空間でグループ化されます。
.ruleset ファイルの内容は、この XML のようになります。
<RuleSet Name="Rules for Hello World project" Description="These rules focus on critical issues for the Hello World app." ToolsVersion="10.0">
<Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
<Name Resource="HelloWorldRules_Name" />
<Description Resource="HelloWorldRules_Description" />
</Localization>
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1001" Action="Warning" />
<Rule Id="CA1009" Action="Warning" />
<Rule Id="CA1016" Action="Warning" />
<Rule Id="CA1033" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.CodeQuality.Analyzers" RuleNamespace="Microsoft.CodeQuality.Analyzers">
<Rule Id="CA1802" Action="Error" />
<Rule Id="CA1814" Action="Info" />
<Rule Id="CA1823" Action="None" />
<Rule Id="CA2217" Action="Warning" />
</Rules>
</RuleSet>
ヒント
手動よりも、グラフィカルなルール セット エディターでルール セットを編集する方が簡単です。
プロジェクトのルール セットを指定する
プロジェクトのルール セットは、Visual Studio プロジェクト ファイルの CodeAnalysisRuleSet プロパティで指定します。 次に例を示します。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<CodeAnalysisRuleSet>HelloWorld.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示