Each code analysis rule belongs to a category of rules. For example, design rules support adherence to the .NET design guidelines, and security rules help prevent security flaws. You can configure the severity level for an entire category of rules. You can also configure additional options on a per-category basis.
The following table shows the different code analysis rule categories and provides a link to the rules in each category. It also lists the configuration value to use in an EditorConfig file to bulk-configure rule severity on a per-category basis. For example, to set the severity of security rule violations to be errors, the EditorConfig entry is dotnet_analyzer_diagnostic.category-Security.severity = error.
Tip
Setting the severity for a category of rules using the dotnet_analyzer_diagnostic.category-<category>.severity syntax doesn't apply to rules that are disabled by default. However, starting in .NET 6, you can use the AnalysisMode<Category> project property to enable all the rules in a category.
# Design rules
# Documentation rules
Value
Link to rules
Documentation rules
Description
Documentation rules support writing well-documented libraries through the correct use of XML documentation comments for externally visible APIs.
EditorConfig value
dotnet_analyzer_diagnostic.category-Documentation.severity
MSBuild property value
<AnalysisModeDocumentation>
# Globalization rules
Value
Link to rules
Globalization rules
Description
Globalization rules support world-ready libraries and applications.
EditorConfig value
dotnet_analyzer_diagnostic.category-Globalization.severity
MSBuild property value
<AnalysisModeGlobalization>
# Portability and interoperability rules
Value
Link to rules
Portability and interoperability rules
Description
Portability rules support portability across different platforms. Interoperability rules support interaction with COM clients.
EditorConfig value
dotnet_analyzer_diagnostic.category-Interoperability.severity
MSBuild property value
<AnalysisModeInteroperability>
# Maintainability rules
Value
Link to rules
Maintainability rules
Description
Maintainability rules support library and application maintenance.
EditorConfig value
dotnet_analyzer_diagnostic.category-Maintainability.severity
MSBuild property value
<AnalysisModeMaintainability>
# Naming rules
Value
Link to rules
Naming rules
Description
Naming rules support adherence to the naming conventions of the .NET design guidelines.
EditorConfig value
dotnet_analyzer_diagnostic.category-Naming.severity
MSBuild property value
<AnalysisModeNaming>
Value
Link to rules
Performance rules
Description
Performance rules support high-performance libraries and applications.
EditorConfig value
dotnet_analyzer_diagnostic.category-Performance.severity
MSBuild property value
<AnalysisModePerformance>
# SingleFile rules
Value
Link to rules
SingleFile rules
Description
Single-file rules support single-file applications.
EditorConfig value
dotnet_analyzer_diagnostic.category-SingleFile.severity
MSBuild property value
<AnalysisModeSingleFile>
# Reliability rules
Value
Link to rules
Reliability rules
Description
Reliability rules support library and application reliability, such as correct memory and thread usage.
EditorConfig value
dotnet_analyzer_diagnostic.category-Reliability.severity
MSBuild property value
<AnalysisModeReliability>
# Security rules
Value
Link to rules
Security rules
Description
Security rules support safer libraries and applications. These rules help prevent security flaws in your program.
EditorConfig value
dotnet_analyzer_diagnostic.category-Security.severity
MSBuild property value
<AnalysisModeSecurity>
# Style rules
Value
Link to rules
Style rules
Description
Style rules support consistent code style in your codebase. These rules start with the "IDE" prefix.*
EditorConfig value
dotnet_analyzer_diagnostic.category-Style.severity
MSBuild property value
<AnalysisModeStyle>
* Use the EditorConfig value dotnet_analyzer_diagnostic.category-CodeQuality.severity to enable the following rules: IDE0051 , IDE0052 , IDE0064 , and IDE0076 . While these rules start with "IDE", they aren't technically part of the Style category.
# Usage rules
Value
Link to rules
Usage rules
Description
Usage rules support proper usage of .NET.
EditorConfig value
dotnet_analyzer_diagnostic.category-Usage.severity
MSBuild property value
<AnalysisModeUsage>