koido Blog

XPerの日々

AILight Banner
AILight Blog

プロフィール

koido Blog

目次

Blog 利用状況

記事分類

過去の記事

タグ

MSBuild用ビルド定義ファイル その1 ビルド編

MSBuildを利用して常時結合を行う場合、当然XMLファイルを作成する必要がある。
多くのプロジェクトをビルドするためのXMLファイルを作成するのは、それなりに工数が必要となる。

そこで、MSBuildからMSBuildを呼び出す機能を利用して、サブルーチン的なXMLファイルがあるとだいぶ楽になるので、紹介。

まずは、基本となるプロジェクトのビルド用のXMLファイル。

ビルドを行い、dllとpdbとxmlファイルを特定のディレクトリにコピーします。

<?xml version="1.0" encoding="utf-8" ?>
<!--
 パラメータとなるプロパティ一覧
 
    DeployDir = ビルド結果をコピーするディレクトリ
    TargetDir      = ターゲットプロジェクトのディレクトリ
    TargetProject  = ターゲットプロジェクト名
    TargetAssemble = ターゲットのアセンブリ名(パスなし、拡張子なし)
-->

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
 DefaultTargets="Build">

 <Target Name ="Start" >
  <Message Text ="Start $(TargetProject) Build" />
 </Target>

 <Target Name ="Clean Up" DependsOnTargets ="Start" >
  <Message Text ="Start Clean Up" />
  <Delete Files ="$(DeployDir)\$(TargetAssemble).dll" />
  <Delete Files ="$(DeployDir)\$(TargetAssemble).pdb" />
 </Target>

 <Target Name ="Build" DependsOnTargets ="Clean Up" >
  <Message Text ="Start Target Build" />
  <RemoveDir Directories ="$(TargetDir)\bin"/>
  <RemoveDir Directories ="$(TargetDir)\obj"/>
  <MSBuild Projects="$(TargetDir)\$(TargetProject)" Properties ="Configuration=Debug">
  </MSBuild>
  <Copy DestinationFolder ="$(DeployDir)" SourceFiles ="$(TargetDir)\bin\Debug\$(TargetAssemble).dll" />
    <Copy DestinationFolder ="$(DeployDir)" SourceFiles ="$(TargetDir)\bin\Debug\$(TargetAssemble).pdb" />
    <Copy DestinationFolder ="$(DeployDir)" SourceFiles ="$(TargetDir)\bin\Debug\$(TargetAssemble).xml" />
  </Target>

</Project>

呼び出し方は、

   <MSBuild Projects ="Build.xml"
      Properties ="DeployDir=\My\Bin;
     TargetDir=\My\Source\MyProjec;
     TargetProject=My.vbproj;
     TargetAssemble=ABC.My;"/>

という感じです。

投稿日時 : 2006年4月19日 11:32


コメントを追加

#  re: MSBuild用ビルド定義ファイル その1 ビルド編 2006年4月19日 15:07 tsune

いいですね。私も試してみます。
タイトル
名前
URL
コメント