Azure Pipeline使用私有Feed还原NuGet包时遇NU1301错误求助
Azure Pipeline还原私有NuGet包时遇NU1301错误
问题场景
- 已将生成NuGet包的项目发布至Azure私有Feed
- 另一项目需使用该私有Feed中的NuGet包
- 本地Visual Studio操作正常,但Azure Pipeline执行还原任务时报错:
NU1301: Unable to load the service index for source
已尝试但无效的操作
- 在Feed权限中添加用户代理为贡献者
- 禁用“将作业授权范围限制为当前项目(针对非发布管道和发布管道)”设置
关联Pipeline任务配置
- task: DotNetCoreCLI@2 displayName: Restore packages inputs: command: 'restore' projects: '**/*.csproj' feedsToUse: 'select' vstsFeed: '********-3675-435f-******-2c889c224eb1/********-b859-84a7-a54c-***********'
可行解决方法
1. 确认构建服务账户的Feed权限
如果私有Feed和Pipeline不在同一个项目,需在Feed的「设置」-「权限」中添加当前项目的构建服务账户(格式:[组织名]\[项目名] Build Service ([组织名])),授予「读者」或更高权限。同项目场景也需验证该账户已在权限列表中。
2. 核对vstsFeed参数格式
vstsFeed参数需为「项目ID/Feed ID」或「项目名/Feed名」格式,检查GUID顺序是否颠倒,或直接改用名称格式测试。
3. 改用自定义NuGet.config配置源
- 在项目根目录创建NuGet.config文件:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="AzurePrivateFeed" value="https://pkgs.dev.azure.com/[组织名]/[项目名]/_packaging/[Feed名]/nuget/v3/index.json" /> </packageSources> </configuration>
- 修改Pipeline任务,指定配置文件和服务连接:
- task: DotNetCoreCLI@2 displayName: Restore packages inputs: command: 'restore' projects: '**/*.csproj' feedsToUse: 'config' nugetConfigPath: 'NuGet.config' externalFeedCredentials: '你的私有Feed服务连接名'
(需提前在项目中创建对应私有Feed的服务连接)
4. 检查自托管代理的网络与代理设置
若使用自托管代理,确认代理机器能访问https://pkgs.dev.azure.com,且已正确配置网络代理(可在NuGet.config中添加代理节点,或设置系统环境变量)。
5. 更新DotNetCoreCLI任务版本
将任务版本从@2升级至最新稳定版,避免任务兼容性问题。
内容的提问来源于stack exchange,提问作者n07
相关产品推荐
相关产品推荐

