MSBuild
开发者 | 微软 |
---|---|
首次发布 | 2003年 |
当前版本 | v17.0.0(2021年11月2日[1]) |
源代码库 | |
编程语言 | C# |
操作系统 | 跨平台 |
平台 | .NET框架、.NET |
类型 | 组建自动化 |
许可协议 | MIT许可证 |
网站 | docs |
Microsoft Build Engine(通常简称MSBuild[2] [3])是一个自由且开源的构建工具集,适用于托管代码以及原生C++代码,是.NET框架的一部分。Microsoft Visual Studio依赖于 MSBuild,MSBuild也依赖于Visual Studio。 [4]
概述
MSBuild是一套构建工具,用于帮助软件产品创建流程的自动化,包括编译源代码、打包、测试、部署和创建文档。使用MSBuild可以在不安装Visual Studio IDE的情况下构建 Visual Studio项目和解决方案。MSBuild是自由且开源的软件。[5] MSBuild曾经是.NET框架的一部分,但从Visual Studio 2013开始成为Visual Studio产品的组件之一。 [6]MSBuild是nmake实用程序在功能上的替代品,不过nmake实用程序仍在源自早期Visual Studio版本的项目中使用。
MSBuild作用于与Apache Ant和NAnt有相似XML语法的MSBuild项目文件。尽管语法基于定义明确的XML模式,但其基本结构和操作与传统的Unix make实用程序相当:用户指定使用什么(通常是源代码文件)以及结果是什么(通常是静态库、DLL或可执行应用程序),而实用程序本身决定做什么以及执行构建的顺序。
MSBuild可以依照选择来针对其支持的.NET框架版本构建项目,此功能被称为“多目标”。不过,同一时间只能指定一个.NET框架目标版本。[7]
历史
MSBuild的创建始于2003年,针对在Visual Studio 2005(代号Whidbey)[8]和Windows Vista(代号Longhorn)中使用的.NET Framework 2.0。[9] [10]
版本
版本 | .NET Framework | Visual Studio版本 | 常见安装位置(x86)[11] |
---|---|---|---|
2.0 | 2.0 | 2005 | C:\Windows\Microsoft.NET\Framework\v2.0.50727 |
3.5 | 3.5 | 2008 | C:\Windows\Microsoft.NET\Framework\v3.5 |
4.7.3062.0 | 4.0 | 2010 | C:\Windows\Microsoft.NET\Framework\v4.0.30319 |
4.8.3761.0 | 4.5.2 | 2012 | C:\Windows\Microsoft.NET\Framework\v4.0.30319 |
12.0[6] | 4.5.2 | 2013 | C:\Program Files (x86)\MSBuild\12.0\Bin |
14.0 | 4.6 | 2015 | C:\Program Files (x86)\MSBuild\14.0\Bin |
15.0[12] | 4.7 | 2017 |
|
16.0[13] | 4.7.2 | 2019 |
|
17.0 | 2022 |
|
参见
参考资料
- ^ Latest release. Microsoft/msbuild. GitHub. 微软. [2022-02-15].
- ^ microsoft/msbuild: The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio. GitHub. Microsoft. [2019-07-23]. (原始内容存档于2015-04-29).
- ^ Hashimi, Sayed Ibrahim; Bartholomew, William. Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build. Microsoft Press. 2009: 406. ISBN 978-0-7356-2628-7.
- ^ MSBuild. Microsoft Docs. [2019-07-23].
- ^ Lander, Rich. MSBuild Engine is now Open Source on GitHub. MSDN Blogs. Microsoft. 2015-03-18 [2019-07-23]. (原始内容存档于2021-11-24).
- ^ 6.0 6.1 What's new in MSBuild 12.0. MSBuild. Microsoft Docs. [2019-07-23].
- ^ MSBuild multitargeting overview. Microsoft Docs. [2019-07-23].
- ^ Building, Testing, and Deployment. MSDN. Microsoft. (原始内容存档于2014-08-26).
- ^ Sneath, Tim. MSBuild: The New Build System for Visual Studio 2005 and Longhorn. MSDN Blogs. 2004-07-19 [2018-04-22]. (原始内容存档于2019-12-18).
- ^ England, Chuck. Getting Started with MSBuild. MSDN Blogs. 2010-02-25 [2018-04-22]. (原始内容存档于2019-01-12).
- ^ Standard and custom Toolset configurations. MSBuild. Microsoft Docs. [2019-07-23].
- ^ What's new in MSBuild 15. MSBuild. Microsoft Docs. [2019-07-23].
- ^ What's new in MSBuild 16.0. MSBuild. Microsoft Docs. [2019-07-23].
拓展阅读
- Kretzler, Brian. MSBuild Trickery: 99 Ways to Bend the Build Engine to Your Will. K Cross Seven Ranch Company. 2011: 426. ISBN 978-0-615-50907-5.
- Hashimi, Sayed Ibrahim. Inside MSBuild: Compiling Apps With Custom Tasks For The Microsoft Build Engine. MSDN Magazine (Microsoft). June 2006 [11 April 2013]. (原始内容存档于11 April 2015).
- Hashimi, Sayed Ibrahim. WiX Tricks: Automate Releases With MSBuild And Windows Installer XML. MSDN Magazine (Microsoft). March 2007 [11 April 2013]. (原始内容存档于2015-02-05).
- Hashimi, Sayed Ibrahim. MSBuild: Best Practices For Creating Reliable Builds, Part 1. MSDN Magazine (Microsoft). February 2009 [11 April 2013]. (原始内容存档于2019-07-15).
- Hashimi, Sayed Ibrahim. MSBuild: Best Practices For Creating Reliable Builds, Part 2. MSDN Magazine (Microsoft). March 2009 [11 April 2013]. (原始内容存档于2019-07-15).
- Reif, Andreas. Einführung in Microsofts Build-Management-Technik MSBuild [Introduction to Microsoft's build management technology, MSBuild]. heise Developer. Heinz Heise. 10 June 2010 [11 April 2013]. (原始内容存档于2020-09-24) (德语).
- Jones, Mike; Warren, Genevieve; Blome, Mike; Robertson, Colin; Hogenson, Gordon; Cai, Saisang. MSBuild target framework and target platform. MSBuild. Microsoft Docs. 2016-11-04 [2018-02-19].