依赖管理/团队项目在Team Foundation Server 2010中

3

我正在尝试找到在TFS 2010中逻辑分离项目的最佳方法。目前我们有三个独立的项目:

  1. 在服务器上运行的核心框架项目
  2. 引用核心框架dll的控制台应用程序。
  3. 也引用核心框架dll的Web应用程序。

TFS将项目分区为团队项目。这三个项目都是真正的独立“项目”,但后两个依赖于框架.dll引用。在Java世界中,您可以设置依赖关系管理,其中核心框架将构建并发布到公司的中央存储库,客户端项目可以单独检出并仅引用存储库中的dll,因此不会破坏任何项目。

TFS是否管理依赖项?这三个项目应该设置在单独的团队项目中还是同一个团队项目中?您可以跨团队项目进行构建吗?

最佳方法是如何设置团队项目,以使依赖问题最小化,但同时又分区,以便可以单独工作,并且构建脚本可以访问所有项目以进行CI?

3个回答

4
TFS的“团队项目”与您所理解的“软件项目/解决方案”不可相比。基本上,“团队项目”是一个容器,用于存放您想要保持在一起的一堆东西。
因此,在您的情况下,我认为最好为所有三个上述“软件项目”创建一个“团队项目”。它们显然是相互依存的,必须一起维护。 关于CI,您可以单独访问每个“软件项目”,或者一次性访问所有“软件项目”,您可以做最有用的事情。
希望对您有所帮助。 Thomas

如果有三个不同的项目,每个项目都有独立的团队在工作,那该怎么办? - Ryan Hayes
一个团队不一定要对应一个 TFS 团队项目。如果这对你有意义,你可以很好地组织它,使得多个团队在这样的上下文中工作。 - Thomas Weller

2

在处理依赖关系方面,TFS相当薄弱,但如果您愿意在单个解决方案文件中工作,可以通过使用以下方法在解决方案之间合理地共享项目:

文件->源代码控制->从源代码控制添加项目...

这样,当您获取解决方案时,也会获取所有的项目。

缺点是每次都需要拉取和构建所有内容。

不幸的是,在我们的公司,这在各个层面上都太过限制性,因此我们不得不设置自己的工具来提供预构建库和依赖项管理。


0

在 TFS 中为什么需要依赖项管理呢?

你应该将共享程序集进行强命名并保存在 GAC 中,这样就可以在第一时间避免版本问题。


在许多环境和部署模型中,GAC 不是一个选项。 - open-collar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接