Tfs Team Foundation服务器-复杂场景中的连续集成

Tfs Team Foundation服务器-复杂场景中的连续集成,tfs,build,continuous-integration,tfsbuild,azure-devops,Tfs,Build,Continuous Integration,Tfsbuild,Azure Devops,我正试图找出如何优化我所在公司的构建过程。以下是我的场景: Team Foundation Server 2010(计划迁移到2013已经启动) 具有多个项目和多个解决方案的多个团队项目 各项目通过“项目参考”相互参考 例如: -团队项目A -项目A1、A2、A3 -溶液SA1包含A1、A2、B2 -溶液SA2包含A3、A2、B2 团队项目B -项目B1、B2、B3 -溶液SB1含有B1、B2、A2 -溶液SB2包含B3、B2、A2 有些解决方案有30个项目,构建所有项目需要10分钟以上,

我正试图找出如何优化我所在公司的构建过程。以下是我的场景:

    Team Foundation Server 2010(计划迁移到2013已经启动)
  • 具有多个项目和多个解决方案的多个团队项目
  • 各项目通过“项目参考”相互参考
例如: -团队项目A -项目A1、A2、A3 -溶液SA1包含A1、A2、B2 -溶液SA2包含A3、A2、B2

团队项目B -项目B1、B2、B3 -溶液SB1含有B1、B2、A2 -溶液SB2包含B3、B2、A2

有些解决方案有30个项目,构建所有项目需要10分钟以上,而且这些项目在许多解决方案中出现过多次。我想知道是否有可能避免重新编译同一个项目

如果在SB1上签入项目B1,我只想重新编译这个项目一次,并使用上一次生成的输出来获取其他项目的程序集

任何想法都将不胜感激


提前感谢。

您可以更改构建以将共享库发布到NuGet提要,然后更新引用以从NuGet中提取二进制文件,而不是每次都尝试重新编译它们。

您好,很抱歉延迟响应,此解决方案看起来不错,但如果项目的引用具有自传功能“项目参考”,如果我更改为NuGet参考,我也需要更改项目,在这种情况下,开发人员可以如何工作?他们需要签入他们的更改以获得带有这些更改的新NuGet数据包?或者有其他解决方案供开发人员使用?