2017-02-03 9 views
1

Visual Studio 2015では、プロジェクトファイルAおよびBの親ディレクトリがdirAおよびdirBであるとします。親ディレクトリが親と子のペアである2つのプロジェクトファイル間にリレーションシップがありますか?

dirAがdirBの親ディレクトリである場合、プロジェクトファイルAとBとの間には関係があり、それらが表すプロジェクト間の関係はありますか?たとえば、Visual Studio IDEでプロジェクトファイルAを開き、プロジェクトファイルBを開く場合は、プロジェクトファイルBを再度開く必要がありますか、それとも不要ですか?

私は、Visual Studioがどのようにプロジェクトのファイルとディレクトリを整理するのか理解していないから来ています。

ありがとうございました。

+1

ソリューションを作成し、そのソリューションに追加のプロジェクトを追加します。デフォルトの組織が明らかになります。本質的に、プロジェクトAとBは、相対位置とは独立しています(競合するファイルと同じ場所を使用しないと仮定して)。 – Phil1970

答えて

1

ディレクトリ構造はVSに何も意味しません。 最も柔軟なシステムは、通常、すべてのプロジェクトフォルダを同じソリューションルートディレクトリの下に置くことです。あなたのソリューション(.sln)に興味のある既存のプロジェクトを追加し、プロジェクト間に必要な参照を作成します。

VSで構造を作成する場合は、ソリューションフォルダ(エクスプローラペインでソリューションを右クリックして)を使用し、プロジェクトをソリューションフォルダにドラッグすることをお勧めします。

ソリューションフォルダは実際のフォルダではありません。 .slnファイル内にのみ存在します。

私がこの方法をお勧めする理由は、ソリューションフォルダを再編成するのは簡単ですが、新しい組織を考えるときはいつもディレクトリ階層を再構築するのは苦労します。これは、ソリューションフォルダ間でプロジェクトを移動しても、プロジェクトファイルに相対パスヒントとして格納されているため、プロジェクト間のリンクが切断されないためです。

1

プロジェクトは独立しています。だから、彼らがファイルシステムでどのように表示されるかは問題ではありません。

しかし、それらを1つの解決策に関連付ける(=グループ化する)ことができます。これは論理的にそれらを構成する方法だけです。しかし、これはまだコードの観点からそれらの間に暗黙の関係はありません。

しかし、同じ解決策のプロジェクトは、明示的な関係(ツリー階層)を定義する、相互に容易に参照することができます。つまり、projAはprojBに依存することができます。したがって、この階層ツリー(またはそのサブツリーのいずれか)は、全体としてシームレスにコンパイルできます(特に、葉からルートの順序)。

関連する問題