Visual Studio のプロジェクト参照または SVN:externals について何か誤解していると思います - おそらく両方:) -。
実際、私には 3 つのプロジェクトがあります。
- A 自体には参照がありません
- B は A の DLL を参照し、更新時に SVN:externals 経由でチェックアウトされます (プロジェクトのディレクトリ内のどこかに)。
- C が更新されると、(SVN:externals 経由で) A と B の DLL をプロジェクト内のディレクトリにチェックアウトします (たとえば、path.to.project.C\Libraries\Aとpath.to.project.C\Libraries\B ) 。
プロジェクト C で、A の DLL をパスpath.to.project.C\Libraries\Aからの参照として追加すると、Visual Studio はpath.to.project.C\Libraries\Bをそのパスとして取得します。私の選択を省略し、間違ったパスで A の DLL を自動解決しているように思えます。
この構成では、次のことを行います。
- 一部の A のコードを更新し、プロジェクトをコンパイルして、DLL をリポジトリにコミットします。
- リポジトリ プロジェクト C から更新します。
- C プロジェクトは、A の DLL の古いバージョンを使用することになります (Subversion からチェックアウトされたプロジェクト B のファイルで A の DLL を検索するためです。現時点では、最後の変更で更新されていません)。
どんなヒントでも大歓迎です。