我好像错过了MsBuild 101的第一天。我现在想问 "它是用来做什么的,它替代了什么,我什么时候需要使用它?",因为我可以直接按F5编译我的应用程序。
我缺少的是更大的图片吗?
我好像错过了MsBuild 101的第一天。我现在想问 "它是用来做什么的,它替代了什么,我什么时候需要使用它?",因为我可以直接按F5编译我的应用程序。
我缺少的是更大的图片吗?
MSBuild
是构建平台,它使得在 Visual Studio 中所有的构建活动都成为可能。
一个更好、更实际的例子是:
.csproj
文件(每个 C# 项目)都是 msbuild
文件。
当你按下 F5 键时,你基本上(过于简化地说)调用了 msbuild.exe
并传递了你的 .csproj
文件。
MSBuild 赋予了所有让“按下 F5”起作用的事情的能力。从创建“debug”或“release”文件夹,到将引用放入 bin\
目录,再到调用 CSC
...以及中间的所有内容... MSBuild“驱动”着这一切。
如果你需要的只是 F5 给您提供的输出,那么您大概已经知道了有关 MSBuild 的所有信息。
然而,在大多数商业/实际的开发场景中,总会出现需要自定义构建过程的情况。最常见的方法是自动化构建过程(使用 TeamBuild 或一些自己开发的系统)。您还可能需要
使用一个统一且可扩展的构建平台(即 MSBuild)使所有这些都成为可能,同时仍然属于构建过程...保持开发流水线中“构建”部分简单且易于管理。
我知道这个话题已经有点老了,但是我想谈一下我的看法。
MSBuild是一个可编写脚本的构建工具,与ANT非常相似。它们都使用XML进行配置,因此您很快就能理解它们。两者都有“目标”概念,例如,思考方式上有很多相似之处,如果您了解ANT,那么转换应该不难。
从Visual Studio生成的MSBuild文件就像从Eclipse获取的生成项目构建、记住包含和定义依赖项的ANT脚本一样。您可以直接修改它们以达到自己的目的。
我喜欢MSBuild,它修复了我发现ANT令人烦恼的一些问题。
当您想要从命令行构建项目时,可以使用msbuild。每当您看到一个连续集成产品会自动构建您的项目时,它将调用msbuild来执行实际的构建步骤。