【问题标题】:TFS Build Server 2017 Ignores Project DependenciesTFS Build Server 2017 忽略项目依赖项
【发布时间】:2017-11-15 09:48:44
【问题描述】:

我正在使用 TFS 2017 构建一个包含三个与之链接的项目的解决方案。其中两个项目位于 TFS 的其他地方。当我构建依赖于其他两个项目的主项目时,我收到错误,因为其他两个项目没有被构建。如何强制 TFS 构建所有依赖项目?

【问题讨论】:

  • “其中两个项目位于 TFS 的其他地方”。他们还在同一个项目中吗?如果是这样,您的构建是否也会拉动这些项目?你使用 GIT 还是 TFVC?
  • 嗨@D.J.是的,另外两个项目在同一个项目中。我们正在使用 TFVC。我有一个构建主项目的构建定义。我是否还需要为其他两个项目制定构建定义?是否会在主项目构建时触发?
  • 您可以使用一个 BuildDefinition 来完成。你真的在构建主项目吗?如果解决方案中链接了所有 3 个项目,您应该构建解决方案。
  • 不。在您的 BuildDefinition 中转到“获取源”。那里有“工作区映射”。你可以在那里添加FolderB
  • 如果需要一个新文件夹,您必须添加它,是的。但我建议您重新考虑项目的结构。

标签: tfs


【解决方案1】:

使用Visual Studio Build 任务,您可以通过选择.sln 来构建整个解决方案,或者只构建MSBuild 项目(.*proj) 文件。

如果在构建任务中选择.proj文件,构建三个不同的项目,还需要添加三个任务。

在您的情况下,由于您选择了.sln 文件,TFS 将自动构建整个解决方案,包括其下的所有项目。但在工作区映射中,您需要确保映射包含构建过程所需文件的所有文件夹。例如,如果您添加另一个项目,您可能需要将另一个映射添加到工作区。

所以它不会通过扫描依赖项自动完成 的解决方案。您还必须在 get 中添加文件夹 B 映射 定义的来源。

  • 如果这是一个 CI 构建,在大多数情况下,您应该确保 这些映射与您的 CI 触发器的过滤器设置相匹配 Triggers tab
  • 有关如何优化 TFVC 工作区的详细信息,请参阅 Optimize your workspace

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多