0

为了使引用的程序集可用于 TFSBUILD 流程,我们为这些程序设置了一个单独的团队项目。我们将程序集分支到每个团队项目中,并使用需要它们的解决方案(以下称为目标)。据我所知,这是一种通常的做法

现在我们已经到了这种平原不起作用的地步。假设目标本身是分支的,TFS 将不允许我们在这里创建我们的程序集的分支。

虽然我可以以某种方式看到分支内的分支可能存在问题,但我真的想知道为什么不支持类似的操作。我们不是唯一有这种要求的人,不是吗?

我想到的第一件事是:将程序集分支到目标分支范围之外的某个地方。

Target
    |__Br1
    |__Br2
    |__Assemblies

然而,如果分支需要相同程序集的不同版本(如 Br1:NHibernate 2.1, Br2:NHibernate 3.2),就像产品更新经常做的那样,这也会导致一些丑陋的事情。最终,为了完成这项工作,我必须将NH2.1其视为不同的产品......NH3.2

有没有人知道一种模式,它使我们能够像我们尝试的那样进行分支,但取得更多的成功和更少的痛苦?

4

1 回答 1

1

处理这个问题总是有两种方法:

  1. 分支内的文件夹(这是建议的最佳方法,您可以在项目文件中使用 -tags 来引用每个分支内程序集的特定位置。这意味着,每个分支都有自己的程序集副本。
  2. Team-Project 中的文件夹(如您所做的那样) - 您也可以使用,但您不能在不同的分支中处理不同的 3rd-party-tool-versions。

所以我知道,解决方案对你来说不会是无痛的,但在我看来,可能性是有限的。我们在我们的项目中使用第一个变体,但它也取决于您的分支策略。

于 2012-04-16T12:54:35.967 回答