2009-08-25 80 views
97

我正在开发一个web应用程序项目,我需要创建一个构建脚本;一个可以从我的巡航控制服务器触发的构建脚本。由于nant并没有经过多年的维护,我认为MSBuild是最好的选择。MSBuild脚本有很好的教程吗?

我需要构建脚本能够

  • 编译所有组件
  • 执行单元测试
  • 在本机上运行NCover分析测试
  • 部署数据库(具体取决于参数)。这真的是在执行一个工具,因为我最终会编写我自己的工具来部署数据库。但是该工具的执行应基于某些命令行参数进行有条件的处理。
  • 以巡航控制可读取和理解的格式传送单元测试和覆盖范围结果。

我假设MSBuild将允许我做所有这些事情。但我不知道从哪里开始。有谁知道一个好的教程让我开始使用我的构建脚本?

+7

@Preet僧伽:我没有觉得这是如此 - 你可以浪费很多时候,你从烹饪书上学习的时候,有一半是理解语法的。我认为这是一个非常重要的问题,我希望这个问题成为指出人们的好地方。 – 2009-08-27 07:32:52

回答

13
+3

这个链接在2010年2月16日之前是失败的。所以到了谷歌的博客http://brennan.offwhite.net/blog。 – 2010-02-16 07:12:00

+0

刚刚在google缓存中找到一个http://74.125.155.132/search?q=cache:http://brennan.offwhite.net/blog/2006/11/29/msbuild-basics-1of7/ – 2010-02-16 23:23:49

+2

本教程是有点混乱,结构不好。 – 2010-05-14 21:25:20

38

这是我的第一个教程。很容易理解和遵循:

https://codingcockerel.wordpress.com/2008/04/15/automating-the-build-with-msbuild/

+1

以前没有MSBuild的经验我发现本教程很容易理解。演示代码在VS2008中工作没有麻烦。 – 2010-02-16 07:13:23

+4

此链接失败(2016年2月17日)。 403 Forbidden ... – juagicre 2016-02-17 16:06:48

+0

STW于2016年8月1日进行编辑后,链接已修复。 – desigeek 2016-09-15 18:58:55

8

我在浪费了很多时间才购买Hashimi MSBuild book,太棒了 - I concur with this review by Steven St Jean

除了对MSBuild脚本的全面介绍之外,它还有一本关于典型构建自动化的典型构建自动化部分,比如内部版本号等。显然,最后一个TeamBuild部分不会直接与您相关,但很多这些主题在所有CI工具中都是通用的。

进展:2nd ed保持这种趋势,增加了必须具备的部分重新WebDeploy

+0

后续工作:两位作者现在已被Borg吞噬[从哪个作者可能或可能不希望推断有关本书的质量] – 2010-06-29 11:35:29

+2

这是一本很好的参考书,涵盖了几乎所有你需要知道的使用MSBuild进行真正复杂的编译自动化的知识。 – 2012-03-02 17:55:46

9

在Visual Studio博客上有一个“Getting Started with MSBuild”博客文章,它很好地概述了如何将MSBuild与Visual Studio联系起来。这是相当新的(25.02.2010),并使用Visual Studio 2010和随附的MSBuild v4.0。

虽然没有太多的代码。

直到阅读这个博客,我明白* .csproj文件本身是MSBuild文件。而且,项目上下文菜单中的Build,Clean,Rebuild和Publish命令实际上是MSBuild“目标”。