首页 > 解决方案 > 使用 .net 标准项目配置代码分析

问题描述

我们有一个自定义规则集(从早期的 .net 框架项目创建)

我将规则集添加到我们新项目的文件中:

<PropertyGroup>
<CodeAnalysisRuleSet>c:\CodeAnalysis\CustomCodeAnalysisRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>

我在项目上安装了 Microsoft.CodeAnalysis.FxCopAnalysers nuget 包。

在运行代码分析时,我发现我们自定义规则集中的一些规则被检查了,而另一些则没有。我发现解决方案资源管理器中的 Dependencies > Analyzers > Microsoft.CodeQuality.Analysers 下有一个规则列表。那些似乎是被检查的那些,因为没有被分析器验证的规则没有列出。

起初我认为我们的规则集被完全忽略了,但如果我修改我们规则集中的“工作”规则之一的严重性状态(也列在解决方案资源管理器中的分析器下),严重性也会在另一个位置发生变化,因此这两个规则的位置之间存在“链接”。

为什么我们的规则集中的某些规则(例如 CA1062、CA1031 和 CA1047)未列在 Dependencies > Analyzers > Microsoft.CodeQuality.Analysers 下,而其他规则(例如:CA1061、CA1063、CA1064 等)?

最重要的是,如何确保自定义规则集中的所有规则都经过验证?

微软文档(https://docs.microsoft.com/en-us/visualstudio/code-quality/install-roslyn-analyzers?view=vs-2017)说:

在 www.nuget.org 上找到要安装的分析器包。例如,您可能希望安装 Microsoft FxCop 分析器来检查您的代码是否存在安全和性能问题等。

据我了解(当我在 nuget 包管理器中搜索“代码分析”时观察到),有许多可用的分析器(仅来自 Microsoft,但也来自其他提供商),但 Microsoft 似乎总是以 FxCopAnalysers 为例。

但是我仍然不知道我是否必须安装哪个,以及要检查我们所有的自定义规则。

标签: c#visual-studio-2017code-analysis.net-standardroslyn-code-analysis

解决方案



推荐阅读