Azure DevOps.NET8.0构建Restore任务NU1301错误求助
解决Azure DevOps .NET 8流水线Restore任务NU1301错误
针对你遇到的error NU1301: Unable to load the service index for source错误,可按以下步骤排查修复:
1. 检查工件源权限配置
- 进入Azure DevOps项目 → 工件 → 目标私有源 → 设置 → 权限
- 确认流水线使用的账号(通常是
项目集合构建服务(组织名)或自定义服务连接账号)已被添加,并赋予读取权限 - 若未添加,点击“添加用户/组”,搜索对应账号并勾选“读取”权限后保存
2. 修正NuGet身份验证任务配置
- 确保NuGet Authenticate任务在Restore任务之前执行
- 任务配置中:
- 选择对应私有源的服务连接(类型为
Azure Artifacts/Feed) - 勾选Enable Azure Artifacts credential provider选项,这是微软托管代理自动注入凭据的关键
- 选择对应私有源的服务连接(类型为
3. 验证NuGet源配置
- 优先使用项目根目录下的
NuGet.config文件管理源,确保文件中私有源的URL与Azure Artifacts提供的完全一致:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="MyPrivateFeed" value="https://pkgs.dev.azure.com/myprojectname/_packaging/1199d650-e459-4ff6-85b8-91354ce28542/nuget/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> </packageSources> </configuration> - 在.NET Core Restore任务中,设置
Path to NuGet.config为该文件路径,不要手动覆盖源列表
4. 更换Restore任务类型或NuGet版本
- 尝试用DotNet Core任务的
restore命令替代单独的NuGet Restore任务,DotNet命令会自动适配.NET 8并调用合适的NuGet客户端 - 若坚持使用NuGet Restore任务,添加NuGet工具安装器任务,指定6.x及以上版本(适配.NET 8的最低NuGet版本为6.8)
5. 排查网络访问问题
- 微软托管Windows代理默认可访问Azure Artifacts,若项目有防火墙/代理规则,需确认:
- 允许代理出站访问
pkgs.dev.azure.com域名 - 流水线所在Azure区域与工件源区域无网络隔离限制
- 允许代理出站访问
内容的提问来源于stack exchange,提问作者Rohan Kerkar
相关产品推荐
相关产品推荐

