【问题标题】:Define build order on build machine在构建机器上定义构建顺序
【发布时间】:2015-09-02 20:15:35
【问题描述】:

我知道我可以在 Visual Studio 中使用依赖项定义特定的构建顺序,但我的问题是,每当我将工作签入到 TFS 并在 TFS 服务器上运行构建时,这些依赖项和构建顺序是否保持不变?我问是因为我在同一个解决方案中有多个项目时遇到了一些问题,其中项目 B 引用项目 A,项目 C 引用项目 B 等。

解决方案在本地构建得很好,因为我设置了项目 B 始终首先构建的依赖项,但似乎此配置不会延续到 TFS。

这可以在 TFS 构建端执行吗?

【问题讨论】:

  • 根据项目相互依赖的顺序构建项目是构建的一个相当基本的方面,TFS 在我见过的所有项目上都做得很好。您看到了什么错误?
  • 你是引用其他项目 bin 文件夹中的二进制输出还是使用项目引用?
  • 确保您正在构建与您在开发环境中相同的配置/平台对,某些配置不会以相同的顺序构建。例如,如果您在开发机器上进行 Debug 构建并在 Team Build 中发布,这可能会更改构建顺序。

标签: visual-studio tfs


【解决方案1】:

TF Build 将按照它们在 Visual Studio 中构建的相同顺序(依赖顺序)构建您的项目。

如果您引用一个项目(没有引用项目输出,而是引用项目),那么它将全部正确级联。直接二进制引用不能正确级联,因为 VS 和 MSBuild 都假定它已经构建。

【讨论】:

    【解决方案2】:

    确保您更新的解决方案文件以及构建顺序已提交到 TFS。

    确保您的构建针对的是此解决方案文件而不是项目列表。

    正如其他人所说,项目引用是关键,请检查所有引用指向项目而不是二进制输出。

    如果引用正确,则构建顺序将自动正确,并且只有在 wix 项目等项目中真正需要手动干预,其中安装程序项目应始终在所有其他输出完成后最后构建。

    【讨论】:

      猜你喜欢
      • 2018-04-06
      • 2010-11-19
      • 2012-04-16
      • 2015-12-07
      • 2013-01-01
      • 1970-01-01
      • 2012-10-09
      • 2014-10-12
      • 2013-08-21
      相关资源
      最近更新 更多