Visual Studio代码分析与StyleCop + FxCop

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

这个工具是否完全取代了FxCop和StyleCop,还是只是实现了一些规则?

Visual Studio包含FxCop +。

从FxCop的开发者博客 :

对不起我的无知,但我认为FxCop是完全独立于VSTS代码分析? 更具体地说,我假设如果我安装新版本的FxCop,VSTS将不会利用(没有共享代码?)? 如果是这种情况,当这些变化的任何想法将使其进入VSTS代码分析? 谢谢!

这是正确的,他们是不同的产品,但他们有一个共同的引擎。 Visual Studio 2008 SP1已经提供了相同的修复和分析(再加上一点点),所以不需要用最新的FxCop“更新”Visual Studio。

一个开发者博客也给了每个确切的规则。

至于StyleCop,它独立于VS Code Analysis,如本博客文章中所述 ,链接到Jader Dias的post 。

我的理解是,Visual Studio代码分析基本上是FxCop的稍微修改版本。 从我的经验来看,他们几乎是一样的(事实上我相信Code Analysis在后台使用FxCop可执行文件)。

尽pipeFxCop / CodeAnalysis和StyleCop之间有重叠, FxCop倾向于更多地关注devise规则,而StyleCop则侧重于编码风格(shell,空白区域,缩进等)。

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

直到现在,我的谷歌search导致以下答案:

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

状态:

“我们发现StyleCop实际上是一个非常有用的工具,FxCop和TeamDev并没有做这件事(它不做它们所做的事),它是一个很棒的补充工具。进行编码风格检查,以validation源代码是按照你想要的方式进行格式化的,遵循约定的风格准则。虽然与FxCop有一些重叠(比如检查标识符大写),但是重叠是微乎其微的,因为StyleCop不做深度分析其他静态分析工具可以执行代码正确性检查,安全检查等。

但是我不确定“TeamDev”和“Visual Studio的代码分析”是一样的,