2013-03-07 97 views
4

工作了很长时间而没有版本控制后,我试图重构我的一个旧项目并尝试学习如何使用TFS。目前我有以下(简化的)结构:在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,同时存储在$/Application/Main/Source/SharedBinaries二进制依赖诸如*.lib*.dll文件。在$/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,所有其他项目得到这样的合并发展,以主要更新版本然而,这并不工作,这是一个迹象,我不知道如何构建这个权利。 在不同团队项目边界处理这些共享内容和库的一般方法是什么?


注意:是的,这个问题是一个的另一个版本我问昨天,我已经删除完全更新此。

回答

0

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