devops 代理可以构建包含链接项的项目(即:来自其他解决方案的共享项)吗?

Can devops agent build projects containing linked items (ie: shared items from other solutions")?

我正在尝试设置 DevOps 构建定义以在现场代理上构建 VS2017 解决方案。

将标准Visual Studio构建步骤添加到构建管道后,构建代理报错: "Error MSB3030: Could not copy the file "d:\agent_work..."

这似乎发生在任何 LINKED 项目上。 这些项目是从其他解决方案添加到项目中的 ("add existing item->Add As Link")

solution/project 在开发人员 PC 上本地构建良好,但在代理上则不然。

构建步骤真正需要的是将这些文件复制到要包含在构建工件中的输出目录。

所有链接项的属性都设置为 "content & copy always"。

错误 MSB3030:无法复制文件 "d:\agent_work...",因为找不到。

我是不是漏掉了一些基本的东西?

这是一个工作区映射问题。您有不属于构建工作区的文件。您将需要更新您的构建,以拥有一个以与您的开发人员工作区相同的方式映射的工作区。

如果您的开发人员在外部他们的工作区引用文件,这是一个您必须纠正的问题,然后相应地更新构建。

解决了构建错误:"Error MSB3030: Could not copy the file "d:\agent_work..." 因为找不到。"通过调整前面 "get sources" 步骤中的映射。查看构建日志后,代理似乎在 "d:\agent" 中查找某些项目,在 "d:\agent\s" 中查找其他项目(但未找到它们)。不知道为什么它在 "s" sub-directoy 中查找。但无论如何,work-around 是将 "s" 包含在 "Local path under $(build.sourcesDirectory)" 的本地路径映射中(即:s/MyLocalPath)