У нас есть пользовательский набор правил (созданный из более раннего проекта .net Framework)
Я добавил набор правил в файл нашего нового проекта:
<PropertyGroup>
<CodeAnalysisRuleSet>c:\CodeAnalysis\CustomCodeAnalysisRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
Я установил Microsoft.CodeAnalysis.FxCopAnalysersпакет nuget в проекте.
При выполнении анализа кода я обнаружил, что некоторые правила из нашего пользовательского набора правил были проверены, а другие - нет.Я обнаружил, что существует список правил в разделе Зависимости> Анализаторы> Microsoft.CodeQuality.Analysers в обозревателе решений.Похоже, это те, которые проверяются, потому что там не перечислены правила, которые не были проверены анализатором.
Сначала я подумал, что наш набор правил был полностью проигнорирован, но если я изменяю состояние серьезности одного«рабочего» правила в нашем наборе правил (которое также указано в разделе «Анализаторы» в обозревателе решений), серьезность также изменяется в другом месте, поэтому существует «связь» между местоположениями этих двух правил.
Почему некоторые правила (например, CA1062, CA1031 и CA1047) в нашем наборе правил не перечислены в разделе Зависимости> Анализаторы> Microsoft.CodeQuality.Analysers, а другие есть (например: CA1061, CA1063, CA1064 и т. Д.)?
И самое главное, как я могу быть уверен, что все правила в нашем настраиваемом наборе правил проверены?
Документация Microsoft (https://docs.microsoft.com/en-us/visualstudio/code-quality/install-roslyn-analyzers?view=vs-2017) гласит:
Найти анализаторпакет, который вы хотите установить на www.nuget.org. Например, вы можете установить анализаторы Microsoft FxCop, чтобы проверить ваш код на предмет безопасностиy и проблемы с производительностью, среди прочего.
Из того, что я понимаю (и наблюдаю, когда я ищу "анализ кода" в менеджере пакетов nuget), доступно много анализаторов (только от Microsoft, но от других поставщиков).тоже), но Microsoft, похоже, всегда ссылается на FxCopAnalysers в качестве примера.
Но все же я не знаю, нужно ли и какую именно мне устанавливать, чтобы проверить все наши пользовательские правила.