プロジェクトテンプレートは使える

拙作のフレームワークではWindowsFormsアプリケーションの開発のために、標準的な機能を持たせたプロジェクトをテンプレートで提供する予定なのだが、その中にはDIコンテナ用の設定ファイルも含まれる。設定ファイル中には、プロジェクトで最低限必要なコンポーネントの登録と、プロジェクト配下に書かれたクラスを自動的にコンポーネントとして登録する記述を予め入れておく訳だ。

例えば、いくつかのプロパティを注入するコンポーネントの記述があったとする。


    "アプリケーションタイトル"
    "HogeTemplate"
    "HogeTemplate.impersonate.cfg"

この記述が含まれる設定ファイルを含めたプロジェクトをテンプレートとしてエクスポートしておく。そして、プロジェクトを新規に作成する際に、このエクスポートされたプロジェクトを選択して、新しいプロジェクト"NewHogeServer"を作るとしよう。そうするとVisual Studio 2005は、テンプレートプロジェクトのプロジェクト名から、新しいディレクトリを作るとともにテンプレートプロジェクトで提供されている全てのファイルをコピーして"NewHogeServer"プロジェクトを作る。
ここまでは当たり前なのだが、先ほど見たDI設定用ファイルの抜粋した箇所は、コピーされた上に以下のように変更されているのだ。


    "アプリケーションタイトル"
    "NewHogeServer"
    "NewHogeServer.impersonate.cfg"

"component.config"中の"HogeTemplate"が全て"NewHogeServer"に変更されているのが判るだろう。
通常ならばプロジェクト名 = デフォルトネームスペースなので、マニフェスト(埋め込み)リソースのファイル名はプロジェクト名.ファイル名となる訳で、本来、自分で修正しなくてはならなかったファイル名やプログラムIDなどが自動的に変更されるのは地味だが有難い。