2010-11-24 13 views
1

私は、私たちのソリューションの一部を構築するために大きなMSBuildプロジェクトを開発しました。 XML構文解析/置換、Windowsサービス、リモートコピーなど、多くのことが進行中です。その結果、コメントに装飾を追加するための最善の努力があったにもかかわらず、ファイルの管理が非常に困難になりました。MSBuildインポートを使用してプロジェクトをモジュール化する

「XML.targets」、「Services.targets」などの別々のファイルに機能のメインチャンクを分割し、メインの「Build.proj」にインポートしました。ビルドはまだ機能しており、すぐにそれを管理しやすくなりました。

しかし、私がMSBuildのインポート機能で読んだ情報は、再利用可能なターゲット、つまり何も変更しないで-any-MSBuildプロジェクトで使用できるものをインポートするために使用する必要があるということです。私がここで作成している別々のプロジェクトは、1つのプロジェクトに固有のものとは逆のもので、変更されていなければ他のものと一緒に使用するとデフォルトで破損します。

だから私は、私が求めているものを推測しても、私は ... はIべきことができますが、ありますか?大きなプロジェクトを編成する目的でImportを厳密に使用することには、固有の危険がありますか?これを行うより良い方法はありますか?

ありがとうございました

答えて

1

いいえ、本質的な危険はありません。大規模なプロジェクトをいくつかの.targetsファイルに分割することは、全体の複雑さを軽減するので、特定の操作に固有のファイルにすることをお勧めします。再利用可能なターゲットを作成するという考えは、可能な限り他の部分への依存性がほとんどないことを意味します。類推によって、別々の.targetsファイルをクラスと考えることができます。彼らは結びつきが弱いほど良い。 1つのターゲットファイルを変更すると、プロセス全体が損なわれる可能性は低くなります。あなたは、紙の平和を取ることができます中心にあなたの主なプロジェクトとあなたのターゲットファイルをポイントとして描画し、それらの間のすべての接続を描画します。 1つのターゲットファイルが別のターゲットからのターゲットをオーバーライドしているとします。完璧なシナリオでは、星のようなものが得られます。
短い場合:は、を減らします。

関連する問題