NAntで、solutionタスクでソリューション単位のビルドをする場合に、特定プロジェクトだけを対象外にしたい場合がある。こういう場合の設定について試してみた。
- ファイルに対象外プロジェクトを列挙する
対象プロジェクトのプロジェクトファイル(VB.NETならvbproj)を、フルパスでテキストファイルに列挙する。列挙は、改行区切りの羅列でOK。それを、以下のように読み込ませる(ファイル名をexcludeprojects.txtとした場合)。
- 対象プロジェクトを設定中に列挙する
以下のようにすることで、事前に判っているプロジェクトを除外対象にすることも出来る。
注意点がいくつか。
-
- テキストファイルに複数プロジェクトを列挙した場合、そのソリューションに存在しないプロジェクトが記載されていても、きちんとスキップされるようだ(エラーにはならない)。
- また、ソリューション内で他のプロジェクトに依存されているプロジェクトを除外対象にすると、参照できないというエラーでビルドは中断されてしまうので、注意が必要だ。
- ファイル指定の場合、ファイルそのものが存在しない場合もエラーになる。逆に、ファイルさえあれば、中身が空っぽでもOKなようだ。