MSBuild

MSBuild

MSBuild,或全称 Microsoft Build Engine,是一组工具,便于通过 Microsoft 和第三方编译器(如 Intel NVIDIA CUDA)构建应用程序。

结合 Incredibuild 使用 MSBuild

什么是 MSBuild?

MSBuild,或全称 Microsoft Build Engine,是一组工具,便于通过 Microsoft 和第三方编译器(如 Intel NVIDIA CUDA)构建应用程序。MSBuild 使用 XML 控制模式来指导系统进行编译。尽管 MSBuild 内置于 Visual Studio 系统,用户可通过 Visual Studio 使用,但其实它是独立的,无需安装完整的 Visual Studio 套件也可以使用。

下载免费证书
什么是 MSBuild?

如何使用?

MSBuild 是Microsoft 的工具链,用于编译代码、连接依赖项,并转换为汇编语言用于可执行文件中。

Visual Studio 或命令行上运行 MSBuild 时,项目文件和任何部署指令都会合并成一组指令。MSBuild 通过构建指令循环访问每个项目,并选择适当的编译器和链接器进行构建。如果项目是基于 web 的,它将调用其他工具(如 MSDeploy VSDBCMD)来部署 web 应用程序,并与必需的数据库进行交互。此外,MSBuild 可以执行项目文件中指定的测试和其他工作负载。

Try it now

下载免费证书

MSBuild 的历史及最新版本

MS-DOS Windows 9X 以来,微软发布了多种编译器。其中,编译器大都包含在微软 Visual C++ Visual Basic 之类的开发套件中,作为产品的特定组件而不是独立工具出现。

1997 年,微软发布了 Visual Studio 97,其中包括一个多种语言兼容的统一开发环境。2003 年,Microsoft 将 MSBuild 作为 .NET 框架的一部分发布,开发人员可以用其编译 .NET 项目。不过,直到 Visual Studio 2013,MSBuild 系统(后来出现版本12)才作为独立的软件包出现。它不仅可以构建 .NET 应用程序,还可以构建 C 语言、C++ 和 Visual Basic 程序。

2013 年以来,MSBuild 一直作为 Visual Studio 的内置程序发布,但也可以单独下载。在撰写本文时,MSBuild 的最新稳定版本为 2019–16.9.3。

如何下载和安装 MSBuild?

安装 MSBuild 最简单的方法是将其作为 Microsoft Visual Studio IDE 的一部分进行安装,点击链接可下载该 IDE。在不使用 Visual Studio 的情况下安装MSBuild,可以直接使用链接下载。

使用 Visual Studio 安装程序则更为复杂,因为各种编译器、IDE 的语言支持模块以及其他相关工具(如 Git)也将同步安装。如果选择构建工具(通常称为MSBuild)安装程序,则默认使用 Visual Studio 安装系统,MSBuild 工具仅作为预选工具安装。单击“安装”按钮,不选择其他选项,MSBuild 才会进行设置。

MSBuild 用例

GCC 等编译器系统不同,MSBuild 的大部分参数来自项目 XML 和开发环境规范文件。因此,典型的命令行构建如下:

MSbuild.exe Project.proj /fl /ds /p:TargetEnvPropsFile=EnvConfig\Dev.proj

.proj 文件由 Visual Studio 自动构建,但因为只是 XML文件,因此用户可以自己创建或编辑现有文件。

在上面的示例中,/fl 开关语句中的信息提醒 MSBuild 将构建进程的输出记录到 MSBuild.log 的文件中。/ds 开关语句是 /detailedsummary 的缩写,在构建结束时生成详细报告。

你可以指定 /m:X 使用系统上的 X CPU 内核来提高编译器的速度,并指定 /v:X 来调整 MSBuild 的详细程度, “q” 值表示无,“m”表示最小,“n”表示正常,“d”表示详细,或“diag”表示诊断。

你还可以为 MSBuild 引用其他命令行参数,并了解项目文件的 XML 格式

MSBuild Windows 版

MSBuild 是 Windows 内置的工具,因此与其完美匹配。前面 “如何下载和安装 MSBuild”介绍了具体安装步骤。

MSBuild Linux 版

Linux 中,你可以直接下载 MSBuild 的二进制文件,或从头编译。安装预构建的二进制文件很容易,只需使用 .NET Core SDK for Linux 即可。

如果你喜欢挑战,并且希望从源代码开始编译 MSBuild,可以在 GitHub 上找到该项目。 微软提供了在 Linux 上构建该套件的指导文件

优势

MSBuild 是可以在 Windows 系统上进行自动构建的优秀工具。MSBuild 与操作系统的深度集成、与 Visual Studio 完美兼容、具有开放源代码许可,灵活性高,这些优势足以让它成为一个强大的工具。在脱离 Visual Studio 单独使用时,MSBuild 命令行与外部构建脚本和系统集成,强化自动化性能。

MSBuild 是开源软件吗?

MSBuild 是微软通过 GitHub 发布的免费开源软件 ,使用 MIT 许可证。

MSBuild 与 Incredibuild

通过独家的进程虚拟化技术,Incredibuild 可将主机变成拥有数百个内核的超级计算机。有了 Incredibuild 的助力,编译、测试到发布自动化等产品开发可以大幅提速,企业也能更快更好地将产品推向市场。

Incredibuild 可在指定主机上将本地 MSBuild 环境虚拟化,也是 Microsoft Visual Studio 绑定的首选加速器。使用相同的代码、流程和工具,开发人员和管理人员可以加快产品开发,构建速度可提升 8 倍,发布周期可缩短 80%,迭代次数提高 4 倍,让产品以更高的质量、更快的速度发布。

 

 

icon

要点总结

MSBuild 是 Windows 开发商店中的一款优秀集成工具。

下载免费证书

More Build systems