请求配置权限:跨Azure DevOps Feed访问内部NuGet包
跨Azure DevOps项目访问NuGet包的流水线配置解决方案
问题核心
流水线执行dotnet restore时找不到TOOLS项目Feed中的authorization.shared包,本质是APPLICATIONS项目的流水线无权限访问TOOLS项目下的NuGet Feed,或者Feed被限制为仅本项目可见。
需要申请的权限变更(需Feed管理员操作)
1. 取消Feed的项目范围限制
- 进入TOOLS项目的Artifacts模块,找到托管
authorization.shared的Feed,点击右上角的设置图标 - 在权限页面,找到项目范围选项,关闭「限制为仅此项目」的开关(即你提到的Project settings中的开关)
- 添加APPLICATIONS项目的项目集合构建服务账号(账号格式:
[你的组织名]\Project Collection Build Service ([APPLICATIONS项目名])),并为该账号授予读取者权限
2. 流水线补充配置(可选,确保源正确)
如果调整权限后仍有问题,需要在流水线的dotnet restore步骤中显式指定所有需要的NuGet源:
dotnet restore --source https://pkgs.dev.azure.com/[组织名]/TOOLS/_packaging/[目标Feed名]/nuget/v3/index.json --source https://api.nuget.org/v3/index.json
或者在Azure DevOps流水线的NuGet任务中,添加多个源条目,包含TOOLS项目的Feed地址。
临时方案说明
你提到的将包发布至APPLICATIONS项目Feed的方法确实可以临时解决问题,后续两个Feed合并后,跨项目访问的问题会自然消失。
内容的提问来源于stack exchange,提问作者kbd
相关产品推荐
相关产品推荐

