使用共享嵌套(SVN外部)项目文件组织解决方案的最佳方法是什么?

时间:2015-06-26 20:45:40

标签: visual-studio visual-studio-2008 msbuild projects-and-solutions svn-externals

所以有点历史;我维护一个svn,其中各种应用程序存储库和共享库都位于服务器的根目录

    • App1(取决于ORMthing,UIstuff,Common1)
      • 躯干...
    • App2(取决于ORMthing,UIstuff,OtherStuff)
      • 躯干...
    • ORMthing(对Common1的dempends)
      • 躯干...
    • UIstuff
      • 躯干...

最初,当一个项目依赖于另一个项目并成为另一个项目的一部分时,我使用相对路径向下走到文件夹树并返回到我想要的存储库。这很好用,因为只要他们共享一个共同的根路径,我就可以保留我的工作副本。不幸的是,每当我想创建一个分支时,我都必须进入并改变所有这些相对路径,并且需要访问这些解决方案的一些人不是很精明。

所以我的解决方案:使用SVN外部属性在我的解决方案中嵌套引用项目的解决方案文件夹。服务器上仍然只有一个副本,您可以通过一个SVN检出来提取和更新构建解决方案所需的所有文件,并且可以很容易地将引用的项目从中继切换到具有一个SVN切换命令的分支。

然而,当我遇到类似App1的情况时,似乎存在一个问题,它与其他依赖项ORMthing共享一个公共依赖项。
 当ORMthing进行编译时,Visual Studio无法识别虽然Common1已经是解决方案的一部分,但ORMthing希望找到Common1所在的dll,相对于ORMthing的项目文件。然而,这似乎是构建过程中的错误。当我查看ORMthing的Common1引用的path属性时,它显示了解决方案所拥有并由App1直接引用的项目的目标路径。

0 个答案:

没有答案