You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CI流水线构建报错:依赖项目位于不同仓库,使用经典编辑器无YAML

根因说明

本地Visual Studio构建正常是因为你的开发环境同时存在项目A和项目B的代码,且两个项目的相对路径与VS中配置的项目依赖路径完全匹配。你当前的CI流水线默认仅拉取关联的项目A的BitBucket仓库,构建服务器环境中不存在项目B的代码,因此触发找不到项目的报错。

经典编辑器下的解决方案

以下方案均无需使用YAML配置,直接在经典可视化编辑器中操作即可:

方案1:配置流水线拉取多仓库(最适配当前场景)

  • 打开项目A对应的经典流水线,点击「编辑」进入配置页面
  • 找到顶部的「获取源」配置卡片,当前默认选中的是绑定的项目A的BitBucket仓库
  • 点击「添加存储库」,选择BitBucket源,完成授权后选择项目B对应的仓库,配置项目B的拉取路径,注意路径要和本地两个项目的相对路径完全一致:比如你本地项目A存放在\code\projA、项目B存放在\code\projB,就将流水线中项目B的拉取路径设置为和项目A平级的projB目录
  • 保存流水线后重新触发构建,构建环境会同时拉取两个仓库的代码,路径匹配后就能正常识别项目B依赖

方案2:将项目B转为NuGet包引用(适合公共依赖场景)

如果项目B是通用公共组件,更推荐用包管理的方式解耦依赖:

  • 本地将项目B打包为NuGet包,推送到Azure DevOps内置的工件源或者团队私有的NuGet源
  • 在项目A中移除原有的项目引用,改为引用源上发布的项目B NuGet包
  • 在经典流水线的构建步骤前,添加「NuGet还原」步骤,配置还原源为你推送包的私有源即可正常构建

方案3:拉取Git子模块(适用于已配置子模块的场景)

如果你已经将项目B设为项目A仓库的Git子模块:

  • 打开「获取源」配置卡片,找到「子模块」配置项,勾选「Checkout 子模块」即可,流水线拉取项目A代码时会自动同步项目B的子模块代码

内容的提问来源于stack exchange,提问作者user3193557

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:36:07