Настройка анализа кода с использованием стандартного проекта .net - PullRequest
0 голосов
/ 21 января 2019

У нас есть пользовательский набор правил (созданный из более раннего проекта .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 в качестве примера.

Но все же я не знаю, нужно ли и какую именно мне устанавливать, чтобы проверить все наши пользовательские правила.

1 Ответ

0 голосов
/ 25 января 2019

Согласно тому, что я нашел, похоже, что все правила старого FxCop еще не были перенесены в новые анализаторы FxCop для roslyn.

https://github.com/dotnet/roslyn-analyzers/issues/1624

https://github.com/dotnet/roslyn-analyzers/issues?page=1&q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3AFxCop-Port

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...