Visual Studio代码分析与StyleCop + FxCop

时间:2009-02-24 01:58:51

标签: c# visual-studio-2008 code-analysis fxcop stylecop

我在Visual Studio的项目中使用了以前的StyleCop + FxCop。但现在我正在测试Visual Studio代码分析工具,它更容易集成到MSBuild中,我发现这些工具分析了FxCop和StyleCop的一些规则。

这个工具是FxCop和StyleCop的完全替代品吗?还是只是实现了一些规则?

3 个答案:

答案 0 :(得分:47)

Visual Studio包含FxCop +更多。

来自developer blog of FxCop

  

对我的无知感到抱歉,但我认为   FxCop完全独立于   VSTS中的代码分析?更多   具体来说,我假设如果我   安装新版本的FxCop,VSTS   不会利用(没有共享   码?)?如果是这样的话,任何想法   当这些变化进入时   VSTS代码分析?谢谢!

     

这是正确的,他们是不同的   产品,但他们确实有   共同的引擎。 Visual Studio 2008 SP1   已经有相同的修复和   分析(再多一点),所以   没有必要'更新'视觉   拥有最新FxCop的工作室。

developer blog也给出了每个中的确切规则。

对于StyleCop,它独立于this blog post中描述的VS代码分析,它链接到Jader Dias' post

答案 1 :(得分:13)

我的理解是Visual Studio Code Analysis基本上是FxCop的略微修改版本。根据我的经验,它们几乎是一样的(实际上我相信Code Analysis在幕后使用FxCop可执行文件)。

虽然FxCop / CodeAnalysis和StyleCop之间存在重叠; FxCop倾向于更多地关注设计规则,而StyleCop则专注于编码风格(套管,空白,缩进等)。

此外,FxCop分析IL,而StyleCop直接分析源代码。这对他们各自可以执行的规则施加了不同的限制。

答案 2 :(得分:11)

到目前为止,我的谷歌搜索得到了以下答案:

http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx

规定:

“我们发现StyleCop实际上是一个非常有用的工具,它可以完成FxCop和TeamDev所做的事情(而且它不会做他们所做的事情)。它是一个很好的补充工具.PtyleCop是一个用于执行编码样式检查的工具,用于验证源代码是否按照您希望的方式进行格式化,并遵循约定的样式指南。虽然与FxCop有一些重叠(如检查标识符大小写),但重叠是微不足道的,因为StyleCop不执行深入分析其他静态分析工具如何进行代码正确性检查,安全检查等。“

但我不确定“TeamDev”是否与“Visual Studio的代码分析”相同