MSビルド

MSビルド
開発者マイクロソフト.NET Foundation
初回リリース2003 (2003年
安定版リリース
v17.8.3 / 2023 年 11 月 15 日[ 1 ] ( 2023-11-15 )
リポジトリ
書かれたC#
オペレーティング·システムクロスプラットフォーム
プラットフォーム.NET フレームワーク.NET
タイプビルドツール
ライセンスMITライセンス
Webサイトドキュメント.microsoft .com /visualstudio /msbuild /msbuild ウィキデータで編集する

Microsoft Build EngineMSBuild) [ 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 AntNAntと同様の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.02.02005C:\Windows\Microsoft.NET\Framework\v2.0.50727
3.53.52008C:\Windows\Microsoft.NET\Framework\v3.5
4.7.3062.04.02010C:\Windows\Microsoft.NET\フレームワーク\v4.0.30319
4.8.3761.04.5.22012C:\Windows\Microsoft.NET\フレームワーク\v4.0.30319
12.0 [ 6 ]4.5.22013C:\Program Files (x86)\MSBuild\12.0\Bin
14.04.62015C:\Program Files (x86)\MSBuild\14.0\Bin
15.0 [ 12 ]4.72017
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ BuildTools \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Enterprise \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Community \MSBuild\15.0\Bin
16.0 [ 13 ]4.7.22019
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Community \MSBuild\Current\Bin
17.0 2022
  • C:\Program Files\Microsoft Visual Studio\2022\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\プレビュー\MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Community \MSBuild\Current\Bin

用語

ターゲット
ターゲットには、MSBuild が実行する一連のタスクが含まれます。MSBuild の焦点は、プロジェクト ファイルを使用して MSBuild を呼び出す際に指定された結果ターゲットです。これは、プロジェクトに複数のターゲットエントリが含まれる場合があり、各ターゲットは順番に(条件付きで)実行されるためです。後続の依存ターゲットは、要求されたターゲットの前に実行されます。現在のターゲットの実行フローは、Condition、BeforeTargets、AfterTargets、DependsOnTargets 属性を使用して制御できます。各ターゲットは、それ自体を完了するために必要なタスクを自己完結的に含む場合があります。ターゲットは通常、ファイル、ファイル セット、またはディレクトリに対して実行されるアクションです。
タスク
タスクは、ターゲットを完了するために実行されるコマンドです。タスクは、ビルドプロセス中に任意の数のアクションをグループ化して実行するために使用されます。タスクは通常、Taskクラスを継承するか、ITaskインターフェースを実装するクラスとして.NETアセンブリに実装されます。多くの基本タスクは.NET Frameworkの一部として提供されており[ 14 ] 、コミュニティによって開発されたタスクは無料で利用できます。タスクの例としては、ファイルのコピー、ディレクトリの作成、XMLの解析などが挙げられます。
プロパティとアイテム
MSBuild は、概念的にはmake のマクロに相当するPropertiesItemsを提供します。Properties は静的な値を指定しますが、Items は通常、タスクを実行するファイルまたはフォルダーのセットを定義するために使用されます。Items でのファイルの指定は、ワイルドカードのサポートにより容易になります。

参照

参考文献

  1. ^ 「最新リリース」 . Microsoft/msbuild. GitHub . Microsoft . 2022年8月20日閲覧。
  2. ^ "microsoft/msbuild: Microsoft Build Engine (MSBuild) は、.NET および Visual Studio のビルド プラットフォームです。GitHub。Microsoft。20197月 23閲覧
  3. ^ 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
  4. ^ "MSBuild" . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
  5. ^ Lander, Rich (2015年3月18日). 「MSBuildエンジンがGitHubでオープンソース化」 . .NETブログ. MSDNブログ. Microsoft . 2019年7月23日閲覧
  6. ^ a b「MSBuild 12.0 の新機能」。MSBuild。Microsoft Docs 。 2019年7月23日閲覧
  7. ^ 「MSBuild マルチターゲットの概要」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
  8. ^ 「ビルド、テスト、および配置」。Visual Studio 2005の新機能。MSDN。Microsoft。 2014年8月26日時点のオリジナルよりアーカイブ。
  9. ^ Sneath, Tim (2004年7月19日). 「MSBuild: Visual Studio 2005 および Longhorn 向けの新しいビルド システム」 . Tim Sneath. MSDN ブログ. 2018年4月22日閲覧
  10. ^ England, Chuck (2010年2月25日). 「MSBuild を使い始める」 . Visual Studio ブログ. MSDN ブログ. 2018年4月22日閲覧
  11. ^ 「標準およびカスタムツールセット構成」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧。
  12. ^ 「MSBuild 15の新機能」。MSBuild。Microsoft Docs2019年7月23日閲覧。
  13. ^ 「MSBuild 16.0の新機能」。MSBuild。Microsoft Docs2019年7月23日閲覧。
  14. ^ 「MSBuildタスクリファレンス」 . MSBuild. Microsoft Docs . 2019年7月23日閲覧

さらに読む