如何在msbuild中集成到解决方案中

时间:2012-11-19 13:56:23

标签: msbuild tfs2010 visual-studio-2012 build-automation

我正在将MSBuild xml任务文件集成到visual studio 2012解决方案中。该文件执行2个任务,1个用于验证StyleCop,另一个用于运行FxCop分析。我已经从网上的教程创建了msbuild文件。

我的问题是,文件应该存储在文件系统中的哪个位置?我认为它不在解决方案之内。如何设置运行此msbuid文件的解决方案?我使用TFS进行源代码控制,使用TFS Build 2010 for CI,所以我也希望将它集成到这个中。

1 个答案:

答案 0 :(得分:1)

这是我在我工作的地方布置源代码控制树的方式:

Root
 -- Artifacts  (Reports folder for build.  Items are not checked into TFS)
 -- BuildOutput (location where all compiled code is sent.  Items are not checked into TFS)
 -- BuildScripts
   -- ConfigFiles (config files used for different kinds of builds)
   -- MSBuild (MSBuild scripts that I have written for our build)
   -- MSBuild Extensions (MSBuild extension that I use as part of my build)
 -- Database (folder for all database related items)
 -- src (folder for all DotNET source code)
 -- ThirdParty (folder to hold all of our third party dependencies like NUnit, Specflow, etc)

这对我们来说相当不错。

通常,当您想要集成诸如styleCop和FXCop之类的东西时,您将把它们包含在整个构建过程中的步骤中,而不是直接包含在项目或解决方案中。例如,我管理的构建过程有12个不同的步骤。我做的事情包括1)编译代码,2)运行单元测试和代码覆盖,3)运行集成测试,4)运行重复查找器等。您可能希望在构建过程中设置相同类型的东西。

我对TFS Build没有太多经验(我开始使用JetBrains通过TFS Build使用TeamCity),但您应该能够修改构建模板以将MSBuild脚本集成到构建过程中。我还认为TFS Build有一些扩展,允许你直接在构建模板中执行StyleCop和FXCop。

希望这会有所帮助。