MSBuildをやってみようと、ふと思い立ちましたので、そのメモとしてエントリします。
MSBuildとは?
.NET Framework 2.0 より新たに採用されたビルドエンジンがMSBuildです。以下にMSDN Libraryより引用します。
Microsoft Build Engine (MSBuild) は、Microsoft および Visual Studio の新しいビルド プラットフォームです。MSBuild を使用すると、ソフトウェアの処理方法とビルド方法を完全に制御できます。開発者は、Visual Studio がインストールされていないビルド ラボ環境において製品を統括的にビルドできます。
【MSBuild の概要より引用】
MSBuildの実行方法
MSBuildを使用するためには、まず「.NET Framework SDK 2.0」が必要です。ただ、Visual Studio 2005以降をインストールしてあれば、もうインストールされていますので、改めてインストールする必要はありません。
次に、ビルドプロセスを記述した「プロジェクトファイル」を準備します。プロジェクトファイルはXML形式のファイルで、拡張子は「.*proj」とします。C#、VBプロジェクトのプロジェクトファイル(*.csproj、*.vbproj)をそのまま使うこともできます。
そして、Windowsのスタートメニューより「.NET Framework SDK コマンドプロンプト」を起動し、次のようなコマンドで実行します。
MSBuild <プロジェクトファイル名>
プロジェクトファイルの構造
プロジェクトファイルの構造は以下のようになっています。
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ターゲット名">
<実行するタスク />
~
<実行するタスク />
</Target>
</Project>
Project要素をルートとして、実行するプロセスを「ターゲット」を単位として記述していきます。ターゲットには行う処理の最小単位である「タスク」を1または複数記述します。
まずはHello World!
「Hello World!」を表示するプロジェクトファイルは次のようになります。
[HelloWorld1.proj]
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Hello" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello World!" />
</Target>
</Project>
まず、Project要素の「DefaultTargets」属性にて、実行するターゲットを指定します。
そしてターゲット「Hello」の中では、ログ出力を行うためのタスク「Message」を使い、「Hello World!」を表示します。
このプロジェクトファイルの実行結果は次のようになります。

「ターゲット Hello:」の下に「Hello World!」が表示されています。
次回の予定
次回はプロジェクトファイル内で使用する「項目」について書く予定です。
参考URL