关于MSBuild脚本有好的教程吗?

99

我正在开发一个Web应用程序项目,需要创建一个构建脚本,并能够从我的巡航控制服务器触发。由于nant已经很久没有得到维护,我决定使用MSBuild。

我需要构建脚本能够:

  • 编译所有程序集
  • 执行单元测试
  • 对单元测试运行NCover分析
  • 部署数据库(根据参数)。实际上这是执行一个工具,因为我最终将编写自己的工具来部署数据库。但根据一些命令行参数,该工具的执行应该是有条件的。
  • 以巡航控制能够读取和理解的格式提供单元测试和覆盖率结果。

我相信MSBuild可以完成所有这些事情,但我不知道从哪里开始。有人知道一个好的教程能帮助我开始构建脚本吗?


7
@Preet Sangha:我并不认为情况是这样的——当你从菜谱中学习时,可能会花费大量时间半懂不懂的语法。我认为这是一个非常重要的问题,希望这个问题能成为指引人们的好地方。 - Ruben Bartelink
9个回答

40

1
在没有使用过MSBuild的情况下,我发现这个教程非常容易理解。演示代码可以在VS2008中轻松运行。 - James Gardner
4
这个链接出问题了(2016年2月17日)。显示为403禁止访问。 - juagicre
STW在2016年8月1日进行编辑后,链接已经修复。 - Punit Vora

13

3
截至2010年2月16日,此链接失效。在谷歌搜索中出现的博客http://brennan.offwhite.net/blog也是如此。 - James Gardner
刚刚在Google缓存中找到了这个链接:http://74.125.155.132/search?q=cache:http://brennan.offwhite.net/blog/2006/11/29/msbuild-basics-1of7/ - Preet Sangha
2
这个教程有点混乱,结构不太好。 - David Reis
链接对我有效(2010年8月)。 - Christian Payne

9
在Visual Studio博客上有一篇名为“使用MSBuild入门”的博客文章,它很好地概述了MSBuild如何与Visual Studio连接。这篇文章相当新(25.02.2010),并使用了Visual Studio 2010和相应的MSBuild v4.0。
不过那里没有太多代码。
直到我阅读了这篇博客文章,我才明白*.csproj文件本身就是MSBuild文件。而且,在项目上下文菜单中的构建、清理、重新构建和发布命令实际上是MSBuild“目标”。

9

在购买Hashimi MSBuild书籍之前,我浪费了很多时间,但它非常棒--我同意Steven St Jean的评论

除了对MSBuild脚本的全面介绍外,它还有一个烹饪书节,介绍了一些典型的构建自动化任务,如构建编号等。显然,最后的TeamBuild部分与您无直接关系,但许多主题在所有CI工具中都是通用的。

更新:第二版延续了这一趋势,增加了一个必备的WebDeploy部分。


跟进:两位作者现在已经被博格人吞噬了[这可能或可能不涉及到书的质量信息]。 - Ruben Bartelink
2
这是一本非常好的参考书,涵盖了几乎所有你需要知道的内容,以便使用MSBuild进行高级构建自动化。 - Sebastian P.R. Gingter

8

5

5


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接