所以有点历史;我维护一个svn,其中各种应用程序存储库和共享库都位于服务器的根目录
最初,当一个项目依赖于另一个项目并成为另一个项目的一部分时,我使用相对路径向下走到文件夹树并返回到我想要的存储库。这很好用,因为只要他们共享一个共同的根路径,我就可以保留我的工作副本。不幸的是,每当我想创建一个分支时,我都必须进入并改变所有这些相对路径,并且需要访问这些解决方案的一些人不是很精明。
所以我的解决方案:使用SVN外部属性在我的解决方案中嵌套引用项目的解决方案文件夹。服务器上仍然只有一个副本,您可以通过一个SVN检出来提取和更新构建解决方案所需的所有文件,并且可以很容易地将引用的项目从中继切换到具有一个SVN切换命令的分支。
然而,当我遇到类似App1的情况时,似乎存在一个问题,它与其他依赖项ORMthing共享一个公共依赖项。
当ORMthing进行编译时,Visual Studio无法识别虽然Common1已经是解决方案的一部分,但ORMthing希望找到Common1所在的dll,相对于ORMthing的项目文件。然而,这似乎是构建过程中的错误。当我查看ORMthing的Common1引用的path属性时,它显示了解决方案所拥有并由App1直接引用的项目的目标路径。