在没有版本控制的情况下工作了很长时间后,我正在尝试重构我的一个旧项目并尝试学习如何使用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,但这不起作用,这是一个标志我不知道如何构建这个权利。 跨不同团队项目边界处理此类共享内容和库的一般方法是什么?
注意:是的,这个问题是我昨天要求的另一个版本,我已将其删除以完全更新。
答案 0 :(得分:0)
我遇到了和你一样的问题。有一个名为AIT Dependency Manager的Visual Studio扩展。它绝对是一个可以解决将类库传播到应用程序的问题的工具。