我的 TFS 集合中有 4 个项目:
- 外部
- 内部
- 项目A
- 项目B
我的外部项目是我存储外部库的地方,而不是在公司开发的。 我的内部项目是我存储公司开发的内部库的地方。 项目A和项目B是公司内部开发的项目。
内部项目依赖于外部项目的某些库。项目A和项目B依赖于内部和外部项目的一些库。
我希望内部项目依赖于它使用的外部库。为了完成这项工作,我将这些项目分支到内部项目中,如下所示:
内部项目
- 内部
- 图书馆 1...
- 外部
- 库分机 1...
外部项目
- 库分机 1...
项目A
- 项目A
- 内部
- 图书馆 1...
- 外部
- 库分机 1...
项目 B 与项目 A 具有相似的结构。我希望一旦内部项目解决了对外部的引用,当我将项目 A 引用设置为内部时,它也会自动引用外部中的所有库。我设法通过在我需要的特定版本中分支我想要引用的库来将外部引用到内部项目。这工作正常,但是当我尝试将所有内部项目分支到项目 A 或项目 B 时,TFS 不允许我这样做,因为内部分支包含来自外部的内部分支。
我是 TFS 的新手,这个结构是在公司使用 IBM Rational ClearCase 时创建的。这可能不是组织我的项目的正确方法,或者分支可能不是我想要的引用的方法。如果有人可以帮助使其发挥作用,谢谢。
最佳答案
更好的方法是使用二进制依赖项。不要依赖源代码,而是依赖编译后的二进制文件。您可以将项目 A 所需的各种二进制文件(来自外部/内部)检查到项目 A 的 lib 文件夹中,并设置引用以指向该路径。
这样,项目 A 开发人员就可以灵活地确定何时更新他们所依赖的版本(通过 checkin 更新的二进制文件)。
一种更好的方法是让外部/内部库通过 NuGet 发布其二进制文件,并让项目 A/B 使用 NuGet 来管理其依赖项。
关于tfs - TFS 2013 中与其他项目的分支的分支项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25244931/