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].