如何深入理解并重新掌握MSBuild工具?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5632个文字,预计阅读时间需要23分钟。
前言:很多人一提到MSBuild,脑子里就会浮现XML、只能用VS的特性框架图形界面操作、可定制性和扩展性差和性能低等印象。但实际上,除了XML之外,这些都是刻板印象。
前言很多人一谈到 MSBuild,脑子里就会出现 “XML”、“只能用 VS 的属性框图形界面操作”、“可定制性和扩展性差” 和 “性能低” 等印象,但实际上这些除了 “XML” 之外完全都是刻板印象:这些人用着 Visual Studio 提供的图形界面,就完全不愿意花个几分钟时间翻翻文档去理解 MSBuild 及其构建过程。
另外,再加上 vcxproj (Visual C++ 项目)的默认 MSBuild 构建文件写得确实谈不上好(默认只能项目粒度并行编译,想要源码级并行编译你得加钱),但这跟 MSBuild 本身没有关系,单纯是 Visual Studio 自带的构建文件没支持罢了。
实际上,MSBuild 是一个扩展性极强、开源、跨平台且构建管道中都是传递的对象的构建系统,包含结构化信息处理和结构化日志输出的支持;另外,还提供了完整的 .NET Runtime 供你调用里面任何的 API,甚至用 MSBuild 编程都不在话下。
本系列文章就来让大家以新的视角重新认识一下 MSBuild,并借助 MSBuild 来构建自己的项目。
安装和使用MSBuild 的开源代码仓库:github.com/dotnet/msbuild ,另外,MSBuild 也支撑了整个 .NET 的构建流程,因此安装 MSBuild 最简单的方法就是安装一个 .NET SDK,同样也是开源和跨平台的。
安装好后,你就可以通过运行 dotnet msbuild 调用 MSBuild 了。当然,你也可以选择从源码自行构建出一个 msbuild 可执行文件来用。
本文共计5632个文字,预计阅读时间需要23分钟。
前言:很多人一提到MSBuild,脑子里就会浮现XML、只能用VS的特性框架图形界面操作、可定制性和扩展性差和性能低等印象。但实际上,除了XML之外,这些都是刻板印象。
前言很多人一谈到 MSBuild,脑子里就会出现 “XML”、“只能用 VS 的属性框图形界面操作”、“可定制性和扩展性差” 和 “性能低” 等印象,但实际上这些除了 “XML” 之外完全都是刻板印象:这些人用着 Visual Studio 提供的图形界面,就完全不愿意花个几分钟时间翻翻文档去理解 MSBuild 及其构建过程。
另外,再加上 vcxproj (Visual C++ 项目)的默认 MSBuild 构建文件写得确实谈不上好(默认只能项目粒度并行编译,想要源码级并行编译你得加钱),但这跟 MSBuild 本身没有关系,单纯是 Visual Studio 自带的构建文件没支持罢了。
实际上,MSBuild 是一个扩展性极强、开源、跨平台且构建管道中都是传递的对象的构建系统,包含结构化信息处理和结构化日志输出的支持;另外,还提供了完整的 .NET Runtime 供你调用里面任何的 API,甚至用 MSBuild 编程都不在话下。
本系列文章就来让大家以新的视角重新认识一下 MSBuild,并借助 MSBuild 来构建自己的项目。
安装和使用MSBuild 的开源代码仓库:github.com/dotnet/msbuild ,另外,MSBuild 也支撑了整个 .NET 的构建流程,因此安装 MSBuild 最简单的方法就是安装一个 .NET SDK,同样也是开源和跨平台的。
安装好后,你就可以通过运行 dotnet msbuild 调用 MSBuild 了。当然,你也可以选择从源码自行构建出一个 msbuild 可执行文件来用。

