在解决方案树之间共享项目的最佳实践(MSVS 2008和MSVS 2010)

And*_*rko 5 tfs tfs2008 projects-and-solutions visual-studio

我们有50多个项目分为2个由TFS管理的解决方案树(版本:Visual Studio 2008/TFS RTM(9.0.21022.8)).

30多个项目是Visual Studio 2008项目,其他项目是Visual Studio 2010

新项目通过引用二进制文件来使用一些较旧的程序集.

在开发新项目期间,我们必须对旧程序集进行更改,因此我们必须同时打开2个MSVS实例.

有没有办法在两个不同的工作室解决方案树之间与TFS共享可编译源?或者我们应该将2008解决方案树升级到2010年吗?TFS 2008是否支持共享项目(或者也可能必须升级)?

先感谢您!

Rob*_*cus 6

安德鲁:

首先,我们违反了一些"最佳实践"来实现这一目标,但实用主义是最佳实践与现实世界相遇的地方.

我们做的是这样的:

  1. 所有二进制文件都在LocalBin文件夹中签入TFS,该文件夹整合了我们所有的二进制文件.
  2. 所有共享程序集都位于名为LocalBin/SharedBin的文件夹中
  3. SharedBin文件夹分支到使用团队项目中的顶级SharedBin文件夹.
  4. 在成功的主构建中,LocalBin/Sharedbin合并到项目的SharedBin文件夹中.

结果是这样的:

$/ProjectA/Main/Localbin/SharedBin分支到$/ProjectB/Main/SharedBin$/ProjectB/Dev/Sharedbin(以及在等效的文件夹$/ProjectC,$/ProjectD等等).

我们只有在成功构建MAIN时才进行此共享,并且构建不仅要合并到其他MAIN分支项目,还要合并到DEV分支项目,因此它们是最新的.

我们已经玩弄了在成功构建之后将二进制文件复制到共享网络位置的想法,并且有一个约定来引用该网络共享中的那些二进制文件,但是这个过程今天对我们很有用,我们不喜欢此时对其进行更改(现在更重要的事情发生).

这是在帖子中很难完全描述的事情之一,所以如果你有进一步的问题,我会很乐意尝试回答这些问题.

顺便说一句,我们的解决方案已经构建并在TFS2008下运行,包含数千个项目文件,可能还有数百万行代码.它确实会因合并而增加构建时间,并增加存储库中使用的空间量,但到目前为止两者都是可管理的.