.netで非常に単純なはずのものは、非常に難しいようです。
MyExtendersというプロジェクトがあり、基本的なタイプへのいくつかの単純なエクステンダーが含まれています。
多くのプロジェクトはMyExtendersを使用しているため、従来のsvnチェックアウトおよびビルドアプローチでは、MyExtendersをsvn:externalとして追加し、リビジョンは最後にビルドおよびテストされた方にロックされています。
同じソリューションにMyExtenderを追加する必要がある2つのプロジェクトがある場合、すべてがヒープに分類されます。両方のMyExtenderをソリューションに追加することはできません。したがって、1つだけを使用する必要があります。これは、リビジョンが異なる場合は、古いプロジェクトをそれを使用して再テストすることを意味します。
おそらく、依存関係を最もよく説明する図は次のとおりです。
SolutionA
->ProjectA
->->MyExtenders r350 (svn:externed by ProjectA)
->ProjectB
->->MyCryptography r800 (svn:externed by ProjectB)
->->->MyExtenders r800 (svn:externed by MyCryptography)
Delphi / Cは、上記で問題なく動作します。すべての参照は、独自のプロジェクトフォルダからのものです。
VSは、ディレクトリ構造を失い、上記を次のように平坦化することを主張しています。
SolutionA
->ProjectA (refers MyExtenders)
->ProjectB (refers MyCryptography)
->MyCryptography r800 (refers MyExtenders)
->MyExtenders r350 || r800 - my choice
そして、私はプロジェクトの1つを変更して、別のMyExtenderを参照するように強制され、そのときは別のリビジョンを参照しました。
明らかに私はそれをすべて間違っています..しかし、あなたはそれをどのように正しくしますか?