MSBuild クラス
アセンブリ: Microsoft.Build.Tasks (microsoft.build.tasks.dll 内)


Microsoft.Build.Utilities.Task
Microsoft.Build.Tasks.TaskExtension
Microsoft.Build.Tasks.MSBuild


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MSBuild コンストラクタ
アセンブリ: Microsoft.Build.Tasks (microsoft.build.tasks.dll 内)



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MSBuild プロパティ

名前 | 説明 | |
---|---|---|
![]() | BuildEngine | タスクによって使用される IBuildEngine オブジェクトのインスタンスを取得または設定します。 ( Task から継承されます。) |
![]() | HostObject | タスクに関連付けられているホスト オブジェクトを取得または設定します。 ( Task から継承されます。) |
![]() | Log | タスク ログ メソッドを格納している TaskLoggingHelperExtension のインスタンスを取得します。 ( TaskExtension から継承されます。) |
![]() | Projects | |
![]() | Properties | |
![]() | RebaseOutputs | |
![]() | RunEachTargetSeparately | |
![]() | StopOnFirstFailure | |
![]() | TargetOutputs | |
![]() | Targets |

名前 | 説明 | |
---|---|---|
![]() | HelpKeywordPrefix | リソース名からヘルプ キーワードを作成するために使用するプレフィックスを取得または設定します。 ( Task から継承されます。) |
![]() | TaskResources | タスクに関連付けられているカルチャ固有のリソースを取得または設定します。 ( Task から継承されます。) |

MSBuild メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | Execute | オーバーライドされます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

MSBuild メンバ
MSBuild タスクを実装します。このタスクを作成して実行するには、プロジェクト ファイルで MSBuild 要素を使用します。使用法とパラメータ情報については、「MSBuild タスク」を参照してください。
MSBuild データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | MSBuild |

名前 | 説明 | |
---|---|---|
![]() | BuildEngine | タスクによって使用される IBuildEngine オブジェクトのインスタンスを取得または設定します。(Task から継承されます。) |
![]() | HostObject | タスクに関連付けられているホスト オブジェクトを取得または設定します。(Task から継承されます。) |
![]() | Log | タスク ログ メソッドを格納している TaskLoggingHelperExtension のインスタンスを取得します。(TaskExtension から継承されます。) |
![]() | Projects | |
![]() | Properties | |
![]() | RebaseOutputs | |
![]() | RunEachTargetSeparately | |
![]() | StopOnFirstFailure | |
![]() | TargetOutputs | |
![]() | Targets |

名前 | 説明 | |
---|---|---|
![]() | HelpKeywordPrefix | リソース名からヘルプ キーワードを作成するために使用するプレフィックスを取得または設定します。(Task から継承されます。) |
![]() | TaskResources | タスクに関連付けられているカルチャ固有のリソースを取得または設定します。(Task から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | Execute | オーバーライドされます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

MSBuild
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/06/02 06:25 UTC 版)
MSBuildは、マイクロソフトのビルド環境であり、通常Visual Studioと一緒に使われている。Windows Vista以降のオペレーティングシステムには、バンドルされている.NET Frameworkに対応するバージョンのMSBuildが標準的にインストールされている[1]。
MSBuildバージョン2.0は.NET Framework 2.0の一部であり、Visual Studio 2005とともに動作する。バージョン3.5は.NET 3.5(およびVisual Studio 2008)にバンドルされており、.NETプロジェクトのターゲットバージョンとして2.0、3.0、3.5をサポートしている。これは「マルチターゲット」と呼ばれる。
Visual StudioのプロジェクトおよびソリューションはMSBuildに基づいており、コンパイラやリンカ、SDKなどのツールがセットアップされていれば、Visual StudioのIDE無しでもビルドすることができる。MSBuild自体は無償で利用可能である。
Visual C++はバージョン2008までVCBuildと呼ばれる独自のビルドツールを利用していたが、バージョン2010以降はVisual C#などと同様にMSBuildを利用するようになった[2]。
MSBuildのプロジェクトファイルはApache AntやNAntに似たXMLの文法を持っている。プロジェクトファイルの文法は明確に定義されたXMLスキーマに基づいているが、基本的な構造や操作はUnixの伝統的なmakeユーティリティと同等である。すなわち、ユーザーはビルドに使われるもの(通例ソースファイル)と生成されるもの(通例スタティックライブラリ、DLL、あるいはアプリケーションの実行ファイル)を指定するが、ユーティリティはやるべき事とその順序を自分で判断する。
NMAKE
MSBuildはnmakeツールの機能的な後継である。Visual Studioには、以前のバージョンのVisual Studioで作成したプロジェクトやワークスペースを、VCBuildやMSBuildのプロジェクトやソリューションに変換する機能が用意されている。例えばVisual Studio 6におけるdsp/dswファイルを、Visual Studio .NET 2002/.NET 2003/2005/2008で開くと、それぞれvcproj/slnファイルに変換される。Visual Studio 2010以降ではvcxproj/slnファイルに変換される。
ターゲット(Target)
MSBuildではプロジェクトファイルに記述した複数のターゲットのうち、任意のターゲットを指定して実行することができる。サブシーケンスとして依存したターゲットはリクエストされたターゲット自身よりも前に実行される。各々のターゲットは自分自身を完了させるのに実行に必要なタスクをそれ自体で保持している。ターゲットは通常ひとつあるいはファイル/ディレクトリのセットに対してひとつのアクションを実行する。
タスク(Task)
タスクはターゲットを完了させるために実行されるコマンドである。タスクは通常.NETアセンブリでクラスとして実装され、Taskクラスを継承するかもしくはITaskインターフェイスを実装したものである。多数の基本的なタスクが.NET Frameworkの一部として搭載されている。またコミュニティーが開発している多くのタスクも自由に利用可能である。
プロパティおよびアイテム
付け加えてMSBuildはプロパティ(Property)およびアイテム(Item)を提供しており、Makefileのマクロと概念的に等価である。プロパティは静的な値を指定するのに対し、アイテムは通常タスクの実行対象となるファイルやフォルダのセットを定義するために使用される。ワイルドカードのサポートによりファイルをアイテムとして指定するのは容易である。
Team Foundationによるビルド
Visual Studio Team Systemも実際のTeam Buildsを達成するためにMSBuildに依存しており、Visual Studio Team Foundation Serverとして提供されている。このビルド処理はサーバー自身で実行されることはほとんどなく、必要なソフトがインストールされたリモートのビルドサーバーで実行される。(例: Team Foundation Server (Build))
参照
![]() | この節には参考文献や外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。 |
- Inside the Microsoft Build Engine :Using MSBuild and Team Foundation Build (Microsoft Press)
- “MSDN - The MSBuild Reference”. 2008年3月18日時点のオリジナルよりアーカイブ。2023年6月2日閲覧。
- “Team Foundation Build overview”. 2013年1月4日時点のオリジナルよりアーカイブ。2023年6月2日閲覧。
- Popular MSBuild Blog
- Open Source MSBuild Community Tasks Project
- Inside MSBuild MSDN Article
- WiX Tricks-Automate Releases With MSBuild And Windows Installer XML
- MSBuild : Best Practices For Creating Reliable Builds, Part 1 (MSDN Magazine)
- MSBuild : Best Practices For Creating Reliable Builds, Part 2 (MSDN Magazine)
- MSBuild Sidekick - GUI editor and debugger for MSBuild scripts
- MSBuild Wiki
- MSBuild Command Line Reference - parameters & switches
脚注
関連項目
外部リンク
固有名詞の分類
- MSBuildのページへのリンク