tfs - 在多个解决方案中,TFS和共享项目

  显示原文与译文双语对照的内容

我们.NET团队适用于项目对于我们公司分为不同的类别。 有些内部网络应用,有些是外部( 公共面) 网络应用,我们还有内部Windows应用程序我们企业办公室用户,和Windows Forms应用程序中供零售网点( 存储) 。 当然,因为我们讨厌代码重用,我们有大量的代码在不同的应用程序之间共享的。 当前我们使用SVN作为我们源代码管理,我们就可以得到我们的仓库布局如下所示:

 - = folder, | = Visual Studio Solution
-SVN
   - Internet
      | Ourcompany.com
      | Oursecondcompany.com
   - Intranet
      | UniformOrdering website
      | MessageCenter website
   - Shared
      | ErrorLoggingModule
      | RegularExpressionGenerator
      | Anti-Xss
      | OrgChartModule etc...

是吧。

OurCompany 。com解决方案在Internet文件夹可能具有一个网站项目中,它还将包括ErrorLoggingModule,regularexpressiongenerator和Anti Xss项目从共享目录。

同样,我们UniformOrdering网站解决方案也会包含在解决方案中每个项目。

我们通常称具有项目引用。dll引用,因为,首先,如果我们需要添加或修复中的函数ErrorLoggingModule OurCompany 。com网站上工作时,就在里面 此外,它允许我们构建每个解决方案,看看对共享代码更改中断任何其他应用程序。 这个应该很好地处理构建服务器也如果我是正确的。

与此形成SVN,没有问题。 svn和Visual Studio不是绑定在一起TFS是源代码管理的方式。 我们从来没有想出如何在此类结构中TFS当我们使用它,因为在TFS,TFS项目总是绑定到Visual Studio Solution 。 源代码储存库位于的子TFS Project,如果我们想这样做,我们不得不重复Shared代码在每个TFS项目源代码存储库。 是我的co工人说的那样,此次" 符有关代码重用每一种已知的最佳实践和简单性" 。 这是以前的交易断路器的我们,我们切换到SVN 。

而现在,我们面临真正修复开发流程和应用程序生命周期Management TFS的很逼真正是我们想要和我们想的工作方式。 我们的一个难点就是共享代码问题。

我们正在评估其他商业和开源解决方案,但是由于我们已经有了TFS与我们MSDN Subscriptions,TFS是几乎正是我们所需,我们真想想办法修复了该问题。

有其他人遇到这个变出一种解决方案?

如果你看过的文章或者发表在此,你可以与我共享,从而会也。

一如既往,我很开放的回答像" 你看着都理解错了应该是哪,笨蛋,下面是不该做的。

时间:

我想这里有些误解。 首先,你可以有多个( 次地重复) 解决方案在单个TFS项目。 另外,一个引用它的Visual Studio Project可以有任意数量的解决方案。

二是TFS你使用的哪个版本? 2010不同于2005/08在它如何处理TFS项目。

在2008下,有几种方法可以完成这种根据你想离开它。 可以对多个TFS项目或单个TFS项目。

我会介绍多个。

设置TFS项目为共享库类型代码,而其他的为每个规则项目已。 作为开发过程的一部分在这个共享库,签入完成程序集。 然后Branch这些程序集复制到其他任何TFS项目要在中使用。 当你执行功能更新或者bug修复所需的共享库,只需合并分支到任何其他TFS项目进入的更新。

这样可以使共享更改( 针对单个app无需推送所有的人。

如果需要在一个TFS项目添加文件夹存放一切,只为每个所需Visual Studio Project 。 visual studio解决方案可以引用就回项目自己的基础目录外的问题。 现在,在配置诸如Builds为每个解决方案,请确保限制了目录中的构建服务器零它/ 监视。 这样拿不到构建其中一个改动时内部站点与外部站点。

只录制,希望这样可以帮助其他人总有一天,我恐怕我有点太晚了,回答原问题,) 我们有很多类似情况,和你的问题( 以及后续答案) 做为我们非常容易设置TFS正常。

使用你的示例来解释我们的设置:

# = Project Collection, > = Team Project, | = VS project
# SVN
    > Internet
        | OurCompany
        | OurCompany2
    > Intranet
        | UniformOrdering
        | MessageCentre
    > Shared
        | ErrorLogging
        | RegularExpression

这意味着可以分配工作中( 使用Scrum模板SharePoint ) 到任何Team Projects ( 即SAAS应用在我们的例子中) 和开发者可以选择打开任意或所有vs Projects来把工作做完。

大多数的资深开发人员( 那些在多个产品) 有一个vs Solution ( 可能是" wholeenterprise sln " 继续类比),其中包括所有不同vs Projects,因此能处理any/all人一次所 我们也可以保证项目正常构建,和之前所有的依赖都是最新推送更新。

操作系统中所做出的选择的结构完全看你自己 ! 一些人所复制TFS,其他人一个完全扁平的结构层次。。。 这样做似乎没有什么React的末尾的一天

...