将StyleCop与TFS CI集成的最佳方式

时间:2009-02-17 17:11:52

标签: tfs msbuild coding-style continuous-integration stylecop

我一直在研究如何为我正在开发的项目启用源分析,并计划使用StyleCop。我的设置是使用TFS持续集成的源控制TFS服务器。我想为CI构建启用源分析,并在构建机器上运行每日构建,而不仅仅是在开发人员的机器上运行。

以下是关于StyleCop文档的一篇文章,我读到了这个主题: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html。它基本上修改了csproj文件。

我还阅读了有关如何将StyleCop与构建自动化集成的其他意见,建议使用构建任务做同样的事情:

http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!400.entry

你有什么看法?你有没有类似的项目并做过这样的事情?

3 个答案:

答案 0 :(得分:30)

一般使用StyleCop的一些要点:

  • 您不需要在您的(或构建版)计算机上安装StyleCop - 只需将StyleCop的二进制文件添加到源代码控制中(大约1.5 MB的内容)
  • 然后只需添加项目文件的相对引用,就像这样(我省略了<和>):

    导入Project =“.. \ .. \ lib \ Microsoft StyleCop \ Microsoft.StyleCop.Targets”

  • 我们使用项目文件中的StyleCopTreatErrorsAsWarnings设置将所有StyleCop警告视为错误。

  • 对于旧项目,您可以使用Microsoft提供的工具自动将所有现有源文件设置为忽略。
  • 您可以将StyleCop设置文件(Settings.StyleCop)放在VS解决方案所在的根目录中(当然也可以将其放在源代码管理下)。 StyleCop知道如何自动找到这个文件(通过调用目录树)。这样,您就可以为每个解决方案进行自定义设置。
  • 我们关闭了某些我们认为不太合理的StyleCop规则。

这样StyleCop将集成到您的编译步骤中,因此它将成为CI构建的一部分。

答案 1 :(得分:2)

我们在几个项目中成功地使用了以下文章中的方法......

http://blogs.msdn.com/sourceanalysis/pages/source-analysis-msbuild-integration.aspx http://blogs.msdn.com/sourceanalysis/archive/2008/11/11/introducing-stylecop-on-legacy-projects.aspx

基本上你设置了几个环境变量,在所有.csproj文件中引用它们,这样你就可以为每个开发人员提供不同的工作目录,在构建机器上安装StyleCop MSBuild组件就可以了。无需更改团队构建。

答案 2 :(得分:1)

转到Visual Studio,右键单击Solution>管理Nuget包>安装 StyleCop.MSBuild

就是这样=)