MSBuild
MSBuildはマイクロソフトのビルド環境で通常Visual Studioと一緒に使われている。 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のプロジェクト及びソリューションはVisual StudioのIDE無しでビルドすることができる。MSBuild自体は無償で利用可能である。
MSBuildのプロジェクトファイルはApache AntやNAntに似たXMLの文法を持っている。プロジェクトファイルの文法は明確に定義されたXMLスキーマに基づいているが、基本的な構造や操作はUnixの伝統的なmakeユーティリティと同等である。すなわち、使われるだろうもの(通常ソースファイル)と生成されるだろうもの(通常アプリケーション)をユーザーは指定する。しかしこのユーティリティはやるべき事とその順序を自分で判断する。
目次 |
NMAKE [編集]
MSBuildはnmakeツールの機能的な後継であり、より以前のVisual Studioでもたらされたプロジェクトで使用することができる。 (例えばVisual Studio 6におけるdsp/dswファイルはそれぞれvcproj/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
- Team Foundation Build overview
- 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