如何在所有开发者之间共享 FxCop 规则?

Posted

技术标签:

【中文标题】如何在所有开发者之间共享 FxCop 规则?【英文标题】:How to share FxCop rules amongst all developers? 【发布时间】:2010-09-22 15:11:11 【问题描述】:

我们所有的开发人员都在使用 VS2010 专业版,因此​​无法进行代码分析。我希望他们在签入之前使用 FxCop 分析代码。我已经检查了规则并禁用了其中的一些并添加了一些。我希望所有开发人员都使用相同的规则集,因为它将是 MSBuild 中使用的规则。如何分发要在 FxCop 中使用的规则集?哪些文件需要分发,应该去哪里?

【问题讨论】:

【参考方案1】:

FxCop 的替代或很好的补充是使用商业工具NDepend。使用此工具,您可以在 LINQ 查询上编写代码规则 (namely CQLinq)。 免责声明:我是该工具的开发人员之一

默认提出200 code rules以上,包括设计架构代码质量代码演化 em>、命名约定死代码.NET Fx 用法...

CQLinq 专门编写代码规则,可以是verified live in Visual Studio,也可以是verified during build process and reported in an html/javascript report。

CQLinq 优于 FxCop 的优势在于可以直接编写/自定义/共享代码规则,并立即获得结果。建议使用设施来浏览匹配的代码元素。具体来说是这样的:

【讨论】:

毫无疑问,使用 NDepe 很容易做到 NDepends 是否带有 FxCop 等默认行业规则? 是的,下载 NDepend 试用版,您会看到 NDepend 附带了超过一百条默认规则,以及许多跟踪查询让用户定义其自定义规则或自定义现有规则。 这里是 NDepend 提供的 200 条默认规则的列表:ndepend.com/DefaultRules/webframe.html【参考方案2】:

使用独立 FxCop 时,您可以创建一个 FxCop 项目文件(扩展名为 .fxcop),其中包含要在分析中使用的列表规则。 (通常,该文件还将包括目标程序集列表,尽管这是可选的。)该文件可以与您的代码一起签入源代码管理,以便将其分发给在共享代码库上工作的开发人员。

【讨论】:

是否可以像我的情况一样预先定义规则,然后分发给所有开发人员? 这正是我之前的回答所解释的。您是否需要有关某些特定步骤的更详细帮助?如果有,请指出是哪一个?

以上是关于如何在所有开发者之间共享 FxCop 规则?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft 不遵循 UseGenericEventHandlersInstances FxCop 规则

协助 fxcop

忽略某些特定情况的内置 FxCop 规则。自定义 FxCop 规则?

将自定义 Fxcop 规则与现有 Fxcop 规则集成

FxCop 自定义规则文档。为啥找不到我的网址?

fxcop 会检查所有规则吗?