Настройка набора правилCustomize a rule set

Можно создать настраиваемое правило, задать в соответствии с потребностями конкретного проекта для анализа кода.You can create a custom rule set to meet specific project needs for code analysis.

Создание настраиваемого набора из существующего правила набора правилCreate a custom rule set from an existing rule set

Создание набора настраиваемых правил, чтобы открыть встроенный набор правил в редактор набора правил.To create a custom rule set, you can open a built-in rule set in the rule set editor. После этого можно добавить или удалить определенные правила, а также можно изменить действие, выполняемое при нарушении правила—например, отображать предупреждение или ошибку.From there, you can add or remove specific rules, and you can change the action that occurs when a rule is violated—for example, show a warning or an error.

  1. В обозревателе решений, щелкните правой кнопкой мыши проект и выберите свойства.In Solution Explorer, right-click the project and then select Properties.

  2. На свойства страниц, выберите анализа кода вкладки.On the Properties pages, select the Code Analysis tab.

  3. В выполнить этот набор правил стрелку раскрывающегося списка, выполните одно из следующих:In the Run this rule set drop-down list, do one of the following:

    • Выберите набор правил, который требуется настроить.Select the rule set that you want to customize.

      - или -- or -

    • Выберите <Обзор... > чтобы указать существующий настраиваемый набор правил, если его нет в списке.Select <Browse...> to specify an existing rule set that is not in the list.

  4. Выберите откройте для отображения правила в редакторе набора правил.Select Open to display the rules in the rule set editor.

Note

Если у вас есть проект .NET Core или .NET Standard, процесс будет немного отличаться, так как не анализа кода вкладка свойств. Выполните действия, чтобы копирование предопределенные правила задайте в проект и установите ее в качестве активный набор правил.If you have a .NET Core or .NET Standard project, the process is a little different because there's no Code Analysis property tab. Follow the steps to copy a predefined rule set to your project and set it as the active rule set. После копирования через набор правил, вы можете редактировать в Visual Studio, редактор набора правил , открыв его из обозревателе решений.After you've copied over a rule set, you can edit it in the Visual Studio rule set editor by opening it from Solution Explorer.

Создание нового набора правилCreate a new rule set

Можно создать новый файл набора правил из новый файл диалоговое окно:You can create a new rule set file from the New File dialog:

  1. Выберите файл > New > файл, или нажмите клавишу Ctrl+N.Select File > New > File, or press Ctrl+N.

  2. В новый файл установите флажок Общие категории слева, а затем выберите набор правил анализа кода.In the New File dialog box, select the General category on the left, and then select Code Analysis Rule Set.

  3. Нажмите кнопку Открыть.Select Open.

    Новый .ruleset файл откроется в редакторе набора правил.The new .ruleset file opens in the rule set editor.

Создать пользовательский набор правил в несколько наборов правилCreate a custom rule set from multiple rule sets

Note

Следующая процедура не применяется к проектам .NET Core, которые не имеют анализа кода вкладка свойств.The following procedure does not apply to .NET Core projects, which don't have a Code Analysis property tab.

  1. В обозревателе решений, щелкните правой кнопкой мыши проект и выберите свойства.In Solution Explorer, right-click the project and then select Properties.

  2. На свойства страниц, выберите анализа кода вкладки.On the Properties pages, select the Code Analysis tab.

  3. Выберите <выбрать несколько наборов правил... > из выполнить этот набор правил.Select <Choose multiple rule sets...> from Run this rule set.

  4. В добавить или удалить наборы правил диалоговом окне выберите наборы правил, вы хотите включить в новый набор правил.In the Add or Remove Rule Sets dialog box, select the rule sets you want to include in your new rule set.

    Добавление или удаление наборов правил-диалоговое окно

  5. Выберите Сохранить как, введите имя для .ruleset файл, а затем выберите Сохранить.Select Save As, enter a name for the .ruleset file, and then select Save.

    Новый набор правил, выбранного в выполнить этот набор правил списка.The new rule set is selected in the Run this rule set list.

  6. Выберите откройте Открытие набора правил в редакторе набора правил.Select Open to open the new rule set in the rule set editor.

Приоритет правилRule precedence

  • Если же правило перечисленных двух или более раз в набор с разными уровнями серьезности правил, компилятор выдает ошибку.If the same rule is listed two or more times in a rule set with different severities, the compiler generates an error. Пример:For example:

    <RuleSet Name="Rules for ClassLibrary21" Description="Code analysis rules for ClassLibrary21.csproj." ToolsVersion="15.0">
       <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
         <Rule Id="CA1021" Action="Warning" />
         <Rule Id="CA1021" Action="Error" />
       </Rules>
    </RuleSet>
    
  • Если же правило перечисленных двух или более раз в набор с помощью правил же серьезность, может появиться следующее предупреждение в список ошибок:If the same rule is listed two or more times in a rule set with the same severity, you may see the following warning in the Error List:

    CA0063: Не удалось загрузить файл набора правил "[вашей] .ruleset" или один из его зависимых правило файлы набора. Файл не соответствует схеме наборов правил.CA0063 : Failed to load rule set file '[your].ruleset' or one of its dependent rule set files. The file does not conform to the rule set schema.

  • Если набор правил содержит набор с помощью правил дочерних Include тег и наборы правил дочерней и родительской обоих перечислены такие же правила, но с разными уровнями серьезности, то уровень серьезности в родительский набор правил имеет приоритет.If the rule set includes a child rule set by using an Include tag, and the child and parent rule sets both list the same rule but with different severities, then the severity in the parent rule set takes precedence. Пример:For example:

    <!-- Parent rule set -->
    <?xml version="1.0" encoding="utf-8"?>
    <RuleSet Name="Rules for ClassLibrary21" Description="Code analysis rules for ClassLibrary21.csproj." ToolsVersion="15.0">
       <Include Path="classlibrary_child.ruleset" Action="Default" />
       <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
         <Rule Id="CA1021" Action="Warning" /> <!-- Overrides CA1021 severity from child rule set -->
       </Rules>
    </RuleSet>
    
    <!-- Child rule set -->
    <?xml version="1.0" encoding="utf-8"?>
    <RuleSet Name="Rules from child" Description="Code analysis rules from child." ToolsVersion="15.0">
       <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
         <Rule Id="CA1021" Action="Error" />
       </Rules>
    </RuleSet>
    

Имя и описаниеName and description

Чтобы изменить отображаемое имя набора правил, который открыт в редакторе, откройте свойства окно, выбрав представление > окно "Свойства" в строке меню.To change the display name of a rule set that's open in the editor, open the Properties window by selecting View > Properties Window on the menu bar. Введите отображаемое имя в имя поле.Enter the display name in the Name box. Можно также ввести описание для набора правил.You can also enter a description for the rule set.

Следующие шагиNext steps

Теперь, когда у вас есть набор правил, следующим шагом является настройка правил, добавляя или удаляя правила или изменение серьезность нарушения правил.Now that you have a rule set, the next step is to customize the rules by adding or removing rules or modifying the severity of rule violations.

См. такжеSee also