バージョン2.0以来、MicrosoftはビルドシステムであるMSBuild(source)をVisual Studioプロジェクトに完全準拠している .NET Frameworkに統合した。Bart de Smet氏が、カスタムタスクを通じたMSBuildの拡張方法について説明している。
一連の内蔵型MSBuildタスクは、デベロッパの要求の大部分をカバーするけれども、特にデプロイメント、バージョン制御システムの統合、サーバの構成、IIS WebサイトおよびActiveDiectoryタ スクという分野は除外されている。MSBuild Community Tasks Project(サイト・英語)およびSDC Tasks Library(source)、両者共に自由に利用可能であるが、これらの分野におけるほとんどの問題に対処する多くのMSBuildタスクを提供する。何か不足してい る場合は、自分自身でする必要がある(そしてできる)。
Bart de Smet氏(ブログ・英語)が、カスタムMSBuildタスクの作成(ブログ・英語)およびデバッグ(ブログ・英語)方法について説明している。氏の最初の記事がカスタムタスク作成の導入であるが、2番目 の記事は料理本のような形式で書かれておりデバッグに重点を置いている。Bart氏によると、カスタムタスクの開発は以下の8つのステップに分けられる。
ステップ1 - クラスライブラリプロジェクトの作成
ステップ2 - リファレンスのインポート
ステップ3 - タスクスケルトンの実装
ステップ4 - タスクのパラメータ化
ステップ5 - 機能の実装
ステップ6 - デバッグの設定
ステップ7 - ブレークポイントの設定および実行
ステップ8 - 進んだデバッグ
本質的にデバッグは、カスタムMSBuildタスクのプロジェクト属性で構成される。プロジェクトの開始アクションは、MSBuild実行可能に設定する 必要があり(プロジェクトによって参照されるMSBuildアセンブリーと一致する必要がある)、開始オプションはテストMSBuildプロジェクトファ イルへのパスを含む必要がある。
MSBuild Team のブログ(ブログ・英語)で詳細やヘルプおよびDan Moseley氏(ブログ・英語)による記事「MSBuild - What It Does and What You Can Expect in the Future」そしてXin Yan氏がMSBuildの機能、概念、.NET 3.5における新たなファイルフォーマットの機能および今後の方向性について要約をまとめている。
原文はこちらです:http://www.infoq.com/news/2008/02/custom-msbuild-tasks