Включение категории правилEnable a category of rules

Пакеты анализатора могут содержать предопределенные файлы EditorConfig и наборов правил , которые позволяют быстро и легко включить категорию правил, например правила безопасности или разработки.Analyzer packages may include predefined EditorConfig and rule set files that make it quick and easy to enable a category of rules, such as security or design rules. Пакет анализатора NuGet Microsoft. CodeAnalysis. фкскопанализерс включает как наборы правил (начиная с версии 2.6.2), так и файлы EditorConfig (начиная с версии 2.9.5).The Microsoft.CodeAnalysis.FxCopAnalyzers NuGet analyzer package includes both rule sets (starting in version 2.6.2) and EditorConfig files (starting in version 2.9.5). Включив определенную категорию правил, можно вычислить целевые проблемы и конкретные условия.By enabling a specific category of rules, you can identify targeted issues and specific conditions.

Note

Включение правил анализатора и настройка их степени серьезности с помощью файла EditorConfig поддерживаются начиная с Visual Studio 2019 версии 16,3.Enabling analyzer rules and setting their severity by using an EditorConfig file is supported starting in Visual Studio 2019 version 16.3.

Пакет NuGet анализатора FxCop включает стандартные наборы правил и файлы EditorConfig для следующих категорий правил:The FxCop analyzer NuGet package includes predefined rule sets and EditorConfig files for the following rule categories:

  • Все правилаAll rules
  • Поток данныхDataflow
  • в разработкеDesign
  • ДокументацияDocumentation
  • ГлобализацияGlobalization
  • ВзаимодействиеInteroperability
  • Удобство поддержкиMaintainability
  • ИменованиеNaming
  • ПроизводительностьPerformance
  • Перенесено из FxCopPorted from FxCop
  • НадежностьReliability
  • БезопасностьSecurity
  • ИспользованиеUsage

Каждая из этих категорий правил имеет файл EditorConfig или набора правил:Each of those categories of rules has an EditorConfig or rule set file to:

  • включить все правила в категории (и отключить все остальные правила)enable all the rules in the category (and disable all other rules)
  • использовать уровень серьезности по умолчанию и параметр включения для каждого правила (и отключить все остальные правила).use each rule's default severity and enablement setting (and disable all other rules)

Tip

Категория "все правила" имеет дополнительный файл EditorConfig или набора правил для отключения всех правил.The "all rules" category has an additional EditorConfig or rule set file to disable all rules. Используйте этот файл, чтобы быстро избавиться от любых предупреждений или ошибок анализатора в проекте.Use this file to quickly get rid of any analyzer warnings or errors in a project.

Tip

Если вы выполняете миграцию из устаревшего анализа "FxCop" в анализ кода на основе .NET Compiler Platform, то файлы EditorConfig и набора правил позволяют продолжить использовать аналогичные конфигурации правил для тех, которые использовались ранее.If you're migrating from legacy "FxCop" analysis to .NET Compiler Platform-based code analysis, the EditorConfig and rule set files enable you to continue using similar rule configurations to those you used previously.

Предопределенные файлы EditorConfigPredefined EditorConfig files

Предопределенные файлы EditorConfig для пакета анализатора Microsoft. CodeAnalysis. Фкскопанализерс расположены в папке % UserProfile% \. нужет\паккажес\микрософт.кодеаналисис.фкскопанализерс @ no__t-2 @ no__t-3version @ no__t-4\editorconfig каталог.The predefined EditorConfig files for the Microsoft.CodeAnalysis.FxCopAnalyzers analyzer package are located in the %USERPROFILE%\.nuget\packages\microsoft.codeanalysis.fxcopanalyzers\<version>\editorconfig directory. Например, файл EditorConfig для включения всех правил безопасности находится в папке % UserProfile% \. нужет\паккажес\микрософт.кодеаналисис.фкскопанализерс @ no__t-2 @ no__t-3version @ no__t-4\editorconfig\SecurityRulesEnabled @ no__ t-5. editorconfig.For example, the EditorConfig file to enable all security rules is located at %USERPROFILE%\.nuget\packages\microsoft.codeanalysis.fxcopanalyzers\<version>\editorconfig\SecurityRulesEnabled\.editorconfig.

Скопируйте выбранный файл. editorconfig в корневой каталог проекта.Copy the chosen .editorconfig file to your project's root directory.

Предопределенные наборы правилPredefined rule sets

Стандартные файлы набора правил для пакета анализатора Microsoft. CodeAnalysis. Фкскопанализерс расположены в папке % UserProfile% \. нужет\паккажес\микрософт.кодеаналисис.фкскопанализерс @ no__t-2 @ no__t-3version @ no__t-4\rulesets каталоги.The predefined rule set files for the Microsoft.CodeAnalysis.FxCopAnalyzers analyzer package are located in the %USERPROFILE%\.nuget\packages\microsoft.codeanalysis.fxcopanalyzers\<version>\rulesets directory. Например, файл набора правил для включения всех правил безопасности находится в папке % UserProfile% \. нужет\паккажес\микрософт.кодеаналисис.фкскопанализерс @ no__t-2 @ no__t-3version @ no__t-4\rulesets\SecurityRulesEnabled.RuleSet.For example, the rule set file to enable all security rules is located at %USERPROFILE%\.nuget\packages\microsoft.codeanalysis.fxcopanalyzers\<version>\rulesets\SecurityRulesEnabled.ruleset.

Скопируйте один или несколько наборов правил и вставьте их в каталог, содержащий проект Visual Studio, или непосредственно в Обозреватель решений.Copy one or more of the rule sets and paste them in the directory that contains your Visual Studio project or directly into Solution Explorer.

Можно также настроить предопределенный набор правил в качестве предпочитаемого.You can also customize a predefined rule set to your preference. Например, можно изменить серьезность одного или нескольких правил, чтобы нарушения отображались как ошибки или предупреждения в Список ошибок.For example, you can change the severity of one or more rules so that violations appear as errors or warnings in the Error List.

Установка активного набора правилSet the active rule set

Процесс настройки активного набора правил немного отличается в зависимости от того, имеется ли проект .NET Core, NET Standard или проект .NET Framework.The process for setting the active rule set is a little different depending on whether you have a .NET Core/.NET Standard project or a .NET Framework project.

.NET Core.NET Core

Чтобы сделать правило набором активных правил для анализа в проектах .NET Core или .NET Standard, добавьте свойство кодеаналисисрулесет в файл проекта вручную.To make a rule set the active rule set for analysis in .NET Core or .NET Standard projects, manually add the CodeAnalysisRuleSet property to your project file. Например, следующий фрагмент кода задает HelloWorld.ruleset в качестве активного набора правил.For example, the following code snippet sets HelloWorld.ruleset as the active rule set.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  ...
  <CodeAnalysisRuleSet>HelloWorld.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>

.NET Framework.NET Framework

Чтобы сделать правило набором активных правил для анализа в .NET Framework проектах:To make a rule set the active rule set for analysis in .NET Framework projects:

  • Щелкните правой кнопкой мыши проект в Обозреватель решений и выберите пункт свойства.Right-click on the project in Solution Explorer and choose Properties.

  • На страницах свойств проекта выберите вкладку анализ кода .In the project property pages, select the Code Analysis tab.

  • В разделе выполнение этого набора правилнажмите кнопку Обзор, а затем выберите набор правил, скопированный в каталог проекта.Under Run this rule set, select Browse, and then select the desired rule set that you copied to the project directory.
  • В разделе активные правилавыберите Обзор, а затем выберите набор правил, скопированный в каталог проекта.Under Active rules, select Browse, and then select the desired rule set that you copied to the project directory.

Теперь вы видите нарушения правил только для тех правил, которые включены в выбранном наборе правил.Now you only see rule violations for those rules that are enabled in the selected rule set.

См. такжеSee also