| MSビルド | |
|---|---|
| 開発者 | マイクロソフト、.NET Foundation |
| 初回リリース | 2003 (2003年) |
| 安定版リリース | |
| リポジトリ | |
| 書かれた | C# |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | .NET フレームワーク、.NET |
| タイプ | ビルドツール |
| ライセンス | MITライセンス |
| Webサイト | ドキュメント |
Microsoft Build Engine(MSBuild) [ 2 ] [ 3 ]は、共通言語基盤(CLI)に基づくマネージドコードとネイティブC / C++コード用の、無料のオープンソースビルドツールセットです。2003年に初めてリリースされ、 .NET Frameworkの一部として提供されました。MSBuildはVisual Studioに含まれていますが、MSBuildのコマンドラインインターフェースを介して単独で実行することもできます。[ 4 ]
概要
MSBuildは、ソースコードのコンパイル、パッケージ化、テスト、配置、ドキュメントの作成など、ソフトウェア製品の作成プロセスを自動化するビルドツールです。MSBuildを使用すると、Visual Studio IDEをインストールせずにVisual Studioプロジェクトとソリューションをビルドできます。MSBuildは無料のオープンソースです。[ 5 ] MSBuildは以前は.NET Frameworkにバンドルされていましたが、 Visual Studio 2013以降はVisual Studioにバンドルされています。[ 6 ] MSBuildはnmakeユーティリティの機能的な代替品であり、古いVisual Studioリリースで作成されたプロジェクトでは引き続き使用されています。
MSBuildは、 Apache AntやNAntと同様のXML構文を持つMSBuildプロジェクトファイルを操作します。構文は明確に定義されたXMLスキーマに基づいていますが、基本的な構造と操作は従来のUnixのmakeユーティリティに似ています。ユーザーは使用するもの(通常はソースコードファイル)と結果(通常は静的ライブラリ、DLL、または実行可能アプリケーション)を指定しますが、ビルドの実行内容と実行順序はユーティリティ自体が決定します。
MSBuildは、サポートされている.NET Frameworkのバージョンを選択してプロジェクトをビルドできます。この機能は「マルチターゲット」と呼ばれます。ただし、プロジェクトのビルドは、一度に1つのバージョンのフレームワークのみをターゲットにすることができます。[ 7 ]
歴史
MSBuildは2003年にVisual Studio 2005(コードネームWhidbey)[ 8 ]とWindows Vista(コードネームLonghorn)で使用するために.NET Framework 2.0を対象に初めて作成されました。 [ 9 ] [ 10 ]
バージョン
| バージョン | .NET フレームワーク | 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\フレームワーク\v4.0.30319 |
| 4.8.3761.0 | 4.5.2 | 2012 | C:\Windows\Microsoft.NET\フレームワーク\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 |
|
用語
このセクションは読者にとって分かりにくく、または不明瞭な可能性があります。特に、このセクションが何について言及しているのか、そして例えば「ターゲット」や「タスク」といった概念がどのような性質なのかが不明瞭です。例を挙げていただけると助かります。( 2013年4月) |
- ターゲット
- ターゲットには、MSBuild が実行する一連のタスクが含まれます。MSBuild の焦点は、プロジェクト ファイルを使用して MSBuild を呼び出す際に指定された結果ターゲットです。これは、プロジェクトに複数のターゲットエントリが含まれる場合があり、各ターゲットは順番に(条件付きで)実行されるためです。後続の依存ターゲットは、要求されたターゲットの前に実行されます。現在のターゲットの実行フローは、Condition、BeforeTargets、AfterTargets、DependsOnTargets 属性を使用して制御できます。各ターゲットは、それ自体を完了するために必要なタスクを自己完結的に含む場合があります。ターゲットは通常、ファイル、ファイル セット、またはディレクトリに対して実行されるアクションです。
- タスク
- タスクとは、ターゲットを完了するために実行されるコマンドです。タスクは、ビルドプロセス中に任意の数のアクションをグループ化して実行するために使用されます。タスクは通常、Taskクラスを継承するか、ITaskインターフェースを実装するクラスとして.NETアセンブリに実装されます。多くの基本タスクは.NET Frameworkの一部として提供されており[ 14 ] 、コミュニティによって開発されたタスクは無料で利用できます。タスクの例としては、ファイルのコピー、ディレクトリの作成、XMLの解析などが挙げられます。
- プロパティとアイテム
- MSBuild は、概念的にはmake のマクロに相当するPropertiesとItemsを提供します。Properties は静的な値を指定しますが、Items は通常、タスクを実行するファイルまたはフォルダーのセットを定義するために使用されます。Items でのファイルの指定は、ワイルドカードのサポートにより容易になります。
参照
参考文献
- ^ 「最新リリース」 . Microsoft/msbuild. GitHub . Microsoft . 2022年8月20日閲覧。
- ^ "microsoft/msbuild: Microsoft Build Engine (MSBuild) は、.NET および Visual Studio のビルド プラットフォームです。GitHub。Microsoft。2019年7月 23日閲覧。
- ^ Hashimi, Sayed Ibrahim; Bartholomew, William (2009). Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build . Microsoft Press. p. 406. ISBN 978-0-7356-2628-7。
- ^ "MSBuild" . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
- ^ Lander, Rich (2015年3月18日). 「MSBuildエンジンがGitHubでオープンソース化」 . .NETブログ. MSDNブログ. Microsoft . 2019年7月23日閲覧。
- ^ a b「MSBuild 12.0 の新機能」。MSBuild。Microsoft Docs 。 2019年7月23日閲覧。
- ^ 「MSBuild マルチターゲットの概要」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
- ^ 「ビルド、テスト、および配置」。Visual Studio 2005の新機能。MSDN。Microsoft。 2014年8月26日時点のオリジナルよりアーカイブ。
- ^ Sneath, Tim (2004年7月19日). 「MSBuild: Visual Studio 2005 および Longhorn 向けの新しいビルド システム」 . Tim Sneath. MSDN ブログ. 2018年4月22日閲覧。
- ^ England, Chuck (2010年2月25日). 「MSBuild を使い始める」 . Visual Studio ブログ. MSDN ブログ. 2018年4月22日閲覧。
- ^ 「標準およびカスタムツールセット構成」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
- ^ 「MSBuild 15の新機能」。MSBuild。Microsoft Docs。2019年7月23日閲覧。
- ^ 「MSBuild 16.0の新機能」。MSBuild。Microsoft Docs。2019年7月23日閲覧。
- ^ 「MSBuildタスクリファレンス」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
さらに読む
- ブライアン・クレッツラー(2011年)『MSBuildのトリック:ビルドエンジンを意のままに操る99の方法』 Kクロス・セブン・ランチ社、426頁。ISBN 978-0-615-50907-5。
- Hashimi, Sayed Ibrahim (2006年6月). 「Inside MSBuild: Compiling Apps With Custom Tasks For The Microsoft Build Engine」 . MSDN Magazine . Microsoft. 2015年4月11日時点のオリジナルよりアーカイブ。 2013年4月11日閲覧。
- Hashimi, Sayed Ibrahim (2007年3月). 「WiXのコツ:MSBuildとWindowsインストーラーXMLを使ったリリースの自動化」 . MSDN Magazine . Microsoft . 2013年4月11日閲覧。
- Hashimi, Sayed Ibrahim (2009年2月). 「MSBuild: 信頼性の高いビルドを作成するためのベストプラクティス、パート1」 . MSDN Magazine . Microsoft . 2013年4月11日閲覧.
- Hashimi, Sayed Ibrahim (2009年3月). 「MSBuild: 信頼性の高いビルドを作成するためのベストプラクティス、パート2」 . MSDN Magazine . Microsoft . 2013年4月11日閲覧.
- リーフ、アンドレアス(2010年6月10日)。「Einführung in Microsofts Build-Management-Technik MSBuild」 [Microsoft のビルド管理テクノロジ MSBuild の紹介]。heise 開発者(ドイツ語)。ハインツ・ハイセ。2013 年4 月 11 日に取得。
- Jones, Mike; Warren, Genevieve; Blome, Mike; Robertson, Colin; Hogenson, Gordon; Cai, Saisang (2016年11月4日). 「MSBuild ターゲットフレームワークとターゲットプラットフォーム」 . MSBuild. Microsoft Docs . 2018年2月19日閲覧.