我们有几种Visual Studio解决方案,它们之间具有项目依赖性。
在TFS 2015中,使项目依赖关系变得很容易,我们只需在构建定义中添加解决方案的有序列表即可。
但是,这在DevOps中如何完成?我可以将解决方案添加为Azure管道中的单独构建任务,但是任务似乎无权访问先前构建的输出,因此会发生二进制引用错误。
是否有一种将解决方案内部版本串在一起的方法,以便每个内部版本都可以访问以前的内部版本的输出?
答案 0 :(得分:1)
如何在Azure DevOps中构建多个相互依赖的Visual Studio解决方案
有很多方法可以做到这一点,但不幸的是它没有最佳答案。因为最好的解决方案是始终只有一个存储库。
要解决此问题,您可以:
将依赖项目的.dll
文件添加到NuGet包中。上传到供稿,例如VSTS供稿:Package Management in VSTS and TFS,然后在构建过程中还原软件包(这是我们使用的方式)。
添加Download Build Artifacts任务以构建定义,以下载先前构建的工件。您还可以通过PowerShell调用Builds REST API以获得构建工件。
如果它是Git存储库,则可以考虑使用Git Submodules或Git Subtree。
如果使用的是TFVC存储库,则可以通过在构建定义的“获取源”部分中指定其他工作区映射来获得扩展项目(直接指定,可以单击…进行选择)
希望这会有所帮助。