在TFS上跨团队项目使用共享库

时间:2013-03-07 18:26:25

标签: tfs shared-libraries project-management

在没有版本控制的情况下工作了很长时间后,我正在尝试重构我的一个旧项目并尝试学习如何使用TFS。目前我有以下(简化)结构:

$/Application
$/Application/Main (Branch)
...
$/Application/Main/Source
$/Application/Main/Source/Application
$/Application/Main/Source/SharedBinaries
$/Application/Main/Source/SharedSource
$/Application/Main/Source/SharedSource/Library1
$/Application/Main/Source/SharedSource/Library1/Include
$/Application/Main/Source/SharedSource/Library2
$/Application/Main/Source/SharedSource/Library2/Include
$/Application/Main/Source/Tool1
$/Application/Main/Source/Tool2
...
$/Application/Development (branched from Main)

Application的源代码驻留在$/Application/Main/Source/Application,同时在*.lib中存储*.dll$/Application/Main/Source/SharedBinaries文件等二进制依赖项。在$/Application/Main/Source/SharedSource中,每个使用的库都应该有一个目录。现在这些只是第三方库,因此它们只提供必要的包含文件而根本没有源代码。

现在我想为一个名为ClassLibrary的公共库创建一个新的团队项目。 Application将使用它,但其他应用程序也是如此,因此直接集成库肯定不是好的设计。与应用程序本身类似,我们有这种层次结构:

$/ClassLibrary
$/ClassLibrary/Main (Branch)
...
$/ClassLibrary/Main/Source
$/ClassLibrary/Main/Source/ClassLibrary
...
$/ClassLibrary/Development (branched from Main)

我的第一次尝试是将$/ClassLibrary/Main/Source/ClassLibrary分支到$/Application/Main/Source/SharedSource,以便更新lib,所有其他项目都获得更新版本,例如将Development合并到Main,但这不起作用,这是一个标志我不知道如何构建这个权利。 跨不同团队项目边界处理此类共享内容和库的一般方法是什么?


注意:是的,这个问题是我昨天要求的另一个版本,我已将其删除以完全更新。

1 个答案:

答案 0 :(得分:0)

我遇到了和你一样的问题。有一个名为AIT Dependency Manager的Visual Studio扩展。它绝对是一个可以解决将类库传播到应用程序的问题的工具。