如何在Azure DevOps中构建多个相互依赖的Visual Studio解决方案

时间:2019-03-15 16:09:00

标签: azure azure-devops

我们有几种Visual Studio解决方案,它们之间具有项目依赖性。

在TFS 2015中,使项目依赖关系变得很容易,我们只需在构建定义中添加解决方案的有序列表即可。

但是,这在DevOps中如何完成?我可以将解决方案添加为Azure管道中的单独构建任务,但是任务似乎无权访问先前构建的输出,因此会发生二进制引用错误。

是否有一种将解决方案内部版本串在一起的方法,以便每个内部版本都可以访问以前的内部版本的输出?

1 个答案:

答案 0 :(得分:1)

  

如何在Azure DevOps中构建多个相互依赖的Visual Studio解决方案

有很多方法可以做到这一点,但不幸的是它没有最佳答案。因为最好的解决方案是始终只有一个存储库。

要解决此问题,您可以:

  • 将依赖项目的.dll文件添加到NuGet包中。上传到供稿,例如VSTS供稿:Package Management in VSTS and TFS,然后在构建过程中还原软件包(这是我们使用的方式)。

  • 添加Download Build Artifacts任务以构建定义,以下载先前构建的工件。您还可以通过PowerShell调用Builds REST API以获得构建工件。

  • 如果它是Git存储库,则可以考虑使用Git SubmodulesGit Subtree

  • 如果使用的是TFVC存储库,则可以通过在构建定义的“获取源”部分中指定其他工作区映射来获得扩展项目(直接指定,可以单击…进行选择)

希望这会有所帮助。