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

时间:2010-08-02 05:38:06

标签: tfs projects-and-solutions tfs2008 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是否支持共享项目(或者也可能必须升级)?

提前谢谢!

1 个答案:

答案 0 :(得分:6)

安德鲁:

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

我们做的是:

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

    $/ProjectA/Main/Localbin/SharedBin分为$/ProjectB/Main/SharedBin$/ProjectB/Dev/Sharedbin(以及$/ProjectC$/ProjectD等等中的等效文件夹。

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

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

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

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