DotNetCoreCLI执行restore命令时忽略私有NuGet源问题求助
解决DotNetCoreCLI@2还原时忽略私有NuGet源的问题
核心问题排查与修复
1. 修正任务配置的关键错误
你的任务配置存在两个致命问题:
- 使用
command: 'custom'调用restore时,feedsToUse、vstsFeed等参数不会被任务自动处理——这些参数仅对原生command: 'restore'生效。 - 配置中的引号是中文全角符号
‘’,YAML解析会直接出错,导致所有源配置参数失效。
修改后的正确配置:
- task: DotNetCoreCLI@2 inputs: command: 'restore' projects: 'my project.csproj' arguments: '--force -v:n' feedsToUse: 'select' vstsFeed: 'myfeedurl' includeNuGetOrg: true
2. 检查私有Feed的权限配置
近期出现问题大概率是权限变更导致:
- 进入私有Feed的管理页面,确认构建服务账号(格式通常为
{组织名称} Build Service ({项目名称}))拥有该Feed的Reader权限。 - 若权限被误删或调整,重新添加对应权限即可。
3. 利用任务原生逻辑规避全局配置干扰
使用原生command: 'restore'时,任务会自动生成临时nuget.config,包含你指定的私有源和nuget.org,完全不受构建代理全局nuget.config的干扰,这也是比手动配置nuget.config更可靠的方案。
验证步骤
执行构建时,查看日志中是否出现Adding feed: {你的私有源URL}的条目,确认任务已正确注入私有源配置。如果仍未出现,检查vstsFeed的值是否为Feed的正确ID(可在Feed页面的「连接到Feed」选项中获取)。
内容的提问来源于stack exchange,提问作者2007myspaceguy
相关产品推荐
相关产品推荐

