Usar conjuntos de reglas para agrupar reglas de análisis de códigoUse rule sets to group code analysis rules

Al configurar el análisis de código en Visual Studio, puede elegir entre una lista de integrados conjuntos de reglas.When you configure code analysis in Visual Studio, you can choose from a list of built-in rule sets. Un conjunto de reglas se aplica a un proyecto y es una agrupación de código reglas de análisis que identifican problemas concretos y condiciones específicas para ese proyecto.A rule set applies to a project, and is a grouping of code analysis rules that identify targeted issues and specific conditions for that project. Por ejemplo, puede aplicar un conjunto de reglas está diseñado para examinar el código para las API disponibles públicamente o simplemente el mínimo recomendado reglas.For example, you can apply a rule set that is designed to scan code for publicly available APIs, or just the minimum recommended rules. También puede aplicar un conjunto de reglas que incluye todas las reglas.You can also apply a rule set that includes all the rules.

Puede personalizar un conjunto de reglas mediante la adición o eliminación de reglas, o cambiando los niveles de gravedad de regla aparezca como advertencias o errores en el lista de errores.You can customize a rule set by adding or deleting rules, or by changing rule severities to appear as either warnings or errors in the Error List. Los conjuntos de reglas personalizados pueden satisfacer una necesidad de su entorno de desarrollo determinado.Customized rule sets can fulfill a need for your particular development environment. Al personalizar un conjunto de reglas, el editor de conjunto de reglas proporciona búsqueda y las herramientas para ayudarle en el proceso de filtrado.When you customize a rule set, the rule set editor provides search and filtering tools to help you in the process.

Conjuntos de reglas que están disponibles para análisis estático de código administrado, análisis de código C++, y analizadores de Roslyn.Rule sets are available for static analysis of managed code, analysis of C++ code, and Roslyn analyzers.

Formato de conjunto de reglasRule set format

Se especifica un conjunto de reglas en formato XML en un .ruleset archivo.A rule set is specified in XML format in a .ruleset file. Las reglas, que constan de un identificador y un acción, se agrupan por identificador de analizador y el espacio de nombres en el archivo.Rules, which consist of an ID and an action, are grouped by analyzer ID and namespace in the file.

El contenido de un .ruleset archivo es similar a este código XML:The contents of a .ruleset file looks similar to this 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>

Sugerencia

Es más fácil editar un conjunto de reglas en el gráfico Editor de conjunto de reglas de forma manual.It's easier to edit a rule set in the graphical Rule Set Editor than by hand.

La regla establecida para un proyecto especificado por el CodeAnalysisRuleSet propiedad en el archivo de proyecto de Visual Studio.The rule set for a project is specified by the CodeAnalysisRuleSet property in the Visual Studio project file. Por ejemplo:For example:

<CodeAnalysisRuleSet>HelloWorld.ruleset</CodeAnalysisRuleSet>

Vea tambiénSee also