MSBuild:它是什么,我什么时候需要它?

时间:2010-08-30 18:23:41

标签: msbuild

我似乎错过了MsBuild 101的第1天。我发现自己在问“它做了什么,它取代了什么,我什么时候需要它?”因为我可以点击F5并编译我的应用程序。

我失踪的大局是什么?

5 个答案:

答案 0 :(得分:46)

MSBuild是构建平台,支持Visual Studio世界中的所有构建活动。

更好,更实际的例子是陈述

1。)。csproj文件(每个C#项目)都是msbuild文件

2。)当你点击F5时,你基本上(过度简化)调用msbuild.exe并传入你的.csproj文件。

MSBuild赋予所有“击中F5”工作的能力。从创建“调试”或“发布”文件夹,到删除引用到bin \目录,调用CSC ......以及介于两者之间的所有内容...... MSBuild“强大”所有这些。

如果构建中需要的只是F5给你的输出,那么你就知道了你可能需要知道的关于MSBuild的所有内容。

然而,在大多数商业/实际开发方案中,将需要定制构建过程。最常见的方法是自动化构建过程(使用TeamBuild或一些自行开发的系统)。您可能还需要

  • 创建“打包”部署
  • 链接到您项目之外的另一个也是积极的库 正在开发
  • 将您的构建发布到FTP并向客户发送电子邮件通知 他们的可用性。

使用统一且可扩展​​的构建平台(即MSBuild)是使所有这些成为可能的原因,同时仍然是构建过程的一部分......使开发管道的“构建”部分保持简单和包含。 / p>

答案 1 :(得分:2)

当您想要进行自动构建并且必须实现构建过程时,它非常有用

The F5 Key Is Not a Build Process及其中的链接(例如this)在这方面是一个很好的阅读。

此外,您的Visual Studio项目文件是msbuild文件。如果你想在构建时做更多高级的东西(比如运行一个javascript minifier,对自动生成的版本标识符有更多的控制权,文件的后期处理等等),你就必须深入了解msbuild。

答案 2 :(得分:1)

当您想从命令行构建项目时使用msbuild。每当您看到一个自动构建项目的持续集成产品时,它将调用msbuild来执行实际的构建步骤。

答案 3 :(得分:1)

我认为构建服务器应该可以选择以比Windows API更简单的方式按F5键。

答案 4 :(得分:0)

我知道这很陈旧,但这是我对MSBuild的看法。

这是一个非常类似于ANT的可编写脚本的构建工具。它们都使用XML进行配置,因此您可以很快地找到它。例如,两者都有“目标”的概念,在思考方面有更多的相似之处,如果你知道ANT开关不应该很难。

从Visual Studio生成的MSBuild文件非常类似于从Eclipse中获取的生成的ANT脚本,用于构建项目,记住包含并定义依赖项。您可以直接修改它们以获得乐趣和利润。

我喜欢MSBuild,它修复了一些我觉得烦恼ANT的东西。