.NET TIPS

ビルドの前後でカスタム処理を実行するには?(Visual C# .NET編)

デジタルアドバンテージ 一色 政彦
2005/09/16

 Visual Studio .NET(以降、VS.NET)でプログラムを開発する場合、そのプログラムが実際に生成・更新されるビルド・プロセスの前後で、何らかのカスタム処理を行いたい場合がある。例えば、ビルド後に生成されたプログラムのファイルを、別のフォルダへコピーしたいような場合だ。

 このような場合、VS.NET 2003のC#(以降、Visual C# .NET 2003)では「ビルド・イベント」機能が活用できる(ただしこのビルド・イベント機能は、Visual C# .NET 2002やVisual Basic .NET 2002/2003には搭載されてない)。

 ビルド・イベント機能を利用するには、次の画面のように、Visual C# .NET 2003で作成したプロジェクトのプロパティを開き、[ビルド イベント]として[ビルド前のイベント コマンド ライン]や[ビルド後のイベント コマンド ライン]を設定すればよい。

Visual C# .NET 2003におけるビルド・イベントの設定
ビルド・プロセスの前後で、何らかのカスタム処理を行いたい場合には、このようにしてビルド・イベントを設定すればよい。
  VS.NET 2003のIDEの[ソリューション エクスプローラ]でプロジェクトを右クリックしてコンテキスト・メニューを表示し、そのメニューから[プロパティ]を選択する。これにより、[<プロジェクト名> プロパティ ページ]ダイアログ(この例では「WindowsApplication1 プロパティ ページ」)が表示される。
  左側のツールから[共通プロパティ]−[ビルド イベント]を選択した状態で、[ビルド前のイベント コマンド ライン]の欄に、ビルドを行う前に実行したいカスタム処理をコマンドラインで入力する。このコマンドラインの入力には、入力支援エディタを利用できる(詳細後述)
  [ビルド後のイベント コマンド ライン]の欄に、ビルドした後で実行したいカスタム処理をコマンドラインで入力する。ここでも入力支援エディタが利用できる(詳細後述)。
  [ビルド後のイベントを実行しますか?]のコンボボックスからビルド・イベントを実行するタイミングや条件(本稿の例では「ビルドが成功したとき」)を選択する。
  [OK]ボタンをクリックする。

 コマンドラインを設定する際には、次の画面のような専用の入力支援エディタが利用できる。

コマンドライン専用の入力支援エディタ
[ビルド前のイベント コマンド ライン]や[ビルド後のイベント コマンド ライン]で利用できるコマンドライン入力支援エディタ。
  [ビルド前のイベント コマンド ライン]や[ビルド後のイベント コマンド ライン]の入力欄にフォーカスがあるときに右端に表示される[...]ボタンをクリックすると、このような入力支援エディタのダイアログ(この例では[ビルド後のイベント コマンド ライン]ダイアログ)が表示される。
  コマンドライン入力欄の下に配置されている[マクロ>>]ボタンをクリックすると、Visual C# .NET 2003のプロジェクトで定義されているマクロとその値の一覧が表示される(例えば、「OutDir」というマクロには「bin\Debug\」という値が割り当てられている)。これらのマクロをコマンドラインで使用すれば、プロジェクトのプロパティの設定変更にも柔軟に対応できる。以下の手順は、マクロの使用例を示している。
  「TargetPath」というマクロを選択する。
  [挿入]ボタンをクリックすると、コマンドライン入力欄に「$(TargetPath)」というマクロの単語が追加される。これのマクロは実際に実行される際には、実際の値(本稿の例では「C:\tips\WindowsApplication1\WindowsApplication1\bin\Debug\WindowsApplication1.exe」)に展開される。

 以上の画面例のようにしてビルド・イベントを設定し、プロジェクトをビルドすると、そのビルドの前後にカスタム処理が実行される。本稿の例では次の画面のように、ビルド完了後、生成されたプログラムが別のフォルダに別ファイルとして(具体的には、「C:\copiedcopy.exe」)としてコピーされる。

ビルド・イベント機能の実行結果
ビルド完了後、生成されたプログラムが別のフォルダに別ファイルとして(具体的には、「C:\copiedcopy.exe」)としてコピーされている

 このビルド・イベント機能は、前述したようにVisual C# .NET 2003以降でしか利用できない。しかし、Visual C# .NET 2002やVisual Basic .NET 2002/2003(/2005)でもビルド・イベントの実行は不可能ではなく、これを実現する手段は別に用意されている。この方法については、「TIPS:ビルドの前後でカスタム処理を実行するには?(応用編)」で紹介している。End of Article

カテゴリ:開発環境&ツール 処理対象:ビルド
関連TIPS:ビルドの前後でカスタム処理を実行するには?(応用編)
 
この記事と関連性の高い別の.NET TIPS
ビルドの前後でカスタム処理を実行するには?(応用編)
VS.NET 2003プロジェクトをVS.NET 2002で開くには?
VB開発者設定で「Debug」や「Release」などのソリューション構成を有効にするには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH