2013-03-18 9 views
7

Visual Studio 2013ソリューションにカスタムビルドのステップがあります。カスタムビルドステップでは、私のソリューションのいくつかの他のファイルを参照するテキストファイル上のpythonスクリプトを呼び出します。これらのファイルのいずれかが変更されたり、スクリプトの出力が失われたりすると、カスタムビルドステップが呼び出されるようにします。しかし、カスタムツール「追加の依存関係」と「出力」フィールドを手動で管理する必要はありません。Visual Studioで "カスタムビルド"の "追加の依存関係"を自動的に生成する方法はありますか?

-MMで渡されたときにgccが.dファイルを生成するのと同じ方法で、スクリプトが依存関係のリストを簡単に生成できるようにします。カスタムビルドのステップで "追加の依存関係"を自動的に入力するスクリプトの.d出力を使用できる方法はありますか? 「追加の依存関係」と「出力」フィールドを「維持回避するためのいくつかの他の方法は、help pageは個々のファイルを追加する方法を示し

?あります。

答えて

10

.dファイルを生成するためのスクリプトが内のファイルを生成することができることを仮定すると、あなたが望む任意のフォーマット、あなたはImport要素を使用して必要な結果を達成することができるはずです。

  1. ではなく.dファイルの小規模なプロジェクトファイルを生成するスクリプトを書くスクリプトの出力を。小さなプロジェクトファイルになります"additional dependencies"と "outputs"フィールドが含まれています。
  2. 生成されたファイルをメインプロジェクトの依存関係にするには、Importタグを使用してください。
  3. 依存関係の構成が変更されたときにスクリプトを実行します。

このアプローチを使用すると、自動生成された依存ファイルとは別にメインプロジェクトファイルを保持し、必要に応じて再生成することができます。唯一の欠点は、生成された依存ファイルが純粋な依存ファイルではなく、MSBuildプロジェクトファイルであることです。ただし、依存ファイルを生成するスクリプトを所有しているため、これは大きな問題ではありません。

+0

セカンダリプロジェクトファイルを作成するスクリプトは、後でメインプロジェクトからインポートするために、プログラムからメインプロジェクトのxmlファイルに必要な依存関係を追加するよりも簡単な方法ですか? – Pat

+5

@Patなぜ、私はこのアプローチがもっとクリーンで、長期的にはより安定しているという事実について*私は*知っている*と思っていません。 – dasblinkenlight

+0

あなたの答えはすべて敬意を表します。依存関係をインポートするために、プロジェクトをインポートするためのプログラムをプログラムで作成してください。私の答えは、メインプロジェクトファイルに直接依存関係を追加します。あなたの答えは私と競争しないと思う。あなたはちょうど私の一部になって、より複雑な複雑な方法にしました。 – Pat

関連する問題