Azure DevOps流水线访问已发布Artifacts feed报401错误如何解决
解决步骤
- 确认Feed权限配置正确
给对应Feed添加以下账号的读取者权限,根据Feed范围选择:- 组织范围Feed:添加
Project Collection Build Service (你的组织名) - 项目范围Feed:添加
[你的项目名] Build Service (你的组织名)
Pipeline运行时使用专属服务账号拉取包,个人账号权限不适用。
- 组织范围Feed:添加
- 检查nuget.config的Feed地址正确性
确保配置的是NuGet标准端点,而非网页访问地址,正确格式如下:
不要在nuget.config中硬编码用户名、密码或PAT,避免权限泄露和过期问题。<!-- 组织范围Feed --> <add key="你的Feed名" value="https://pkgs.dev.azure.com/你的组织名/_packaging/你的Feed名/nuget/v3/index.json" /> <!-- 项目范围Feed --> <add key="你的Feed名" value="https://pkgs.dev.azure.com/你的组织名/你的项目名/_packaging/你的Feed名/nuget/v3/index.json" /> - Pipeline添加NuGet验证任务
在NuGet还原/dotnet restore步骤之前,添加官方的NuGetAuthenticate任务,自动注入Pipeline的临时访问凭证,YAML配置参考:
如果使用经典图形化编辑器,直接在任务库中搜索「NuGet 身份验证」添加到还原步骤前即可。# 本组织内的Feed无需额外配置服务连接,任务自动识别 - task: NuGetAuthenticate@1 - 排查Pipeline授权范围限制
进入项目设置 → 管道 → 设置,检查是否开启了将作业授权范围限制为当前项目选项:
如果你的Feed是组织范围且开启了该选项,要么关闭该选项,要么将项目级的构建服务账号添加到组织范围Feed的权限列表中。 - 确认还原任务配置
如果使用内置的NuGet还原任务,选中我的NuGet.config中的源选项,不需要手动填写凭证,系统会自动读取NuGetAuthenticate任务注入的凭证。
内容的提问来源于stack exchange,提问作者Chris Rockwell
相关产品推荐
相关产品推荐

