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

goo*_*ate 39 msbuild

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

我错过的大局是什么?

Tay*_*ird 51

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

一个更好,更实际的例子就是说明这一点

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

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

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

如果构建中所需要的只是F5为您提供的输出,那么您就可以了解有关MSBuild的所有信息.

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

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

利用统一的,可扩展的构建平台(即的MSBuild)的是什么使这些这些可能的,同时仍然在构建过程的一部分......保持开发管线的"构建"部分简单和遏制.