You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已移除的NuGet源仍导致dotnet restore失败,请求帮助

解决dotnet restore持续请求已移除的Azure DevOps NuGet源凭据问题

问题描述

此前为测试需求在Azure DevOps中创建了一个NuGet包并安装到ProjectA,现在对从未安装过该测试包的ProjectB、ProjectC执行dotnet restore时,系统仍要求提供已完全移除的那个NuGet源的凭据。已尝试清理NuGet缓存、删除项目obj/bin文件夹、删除nuget配置文件、移除无用引用、清理重建项目等操作,问题依旧存在。移除ProjectA中的测试包后ProjectA可正常restore,但ProjectB、ProjectC仍报401未授权错误:

C:\Program Files\dotnet\sdk\8.0.108\NuGet.targets(156,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/xxxxx/_packaging/xxxxx/nuget/v3/index.json. [E:\Users\Haku\source\repos\ProjectB\ProjectB\ProjectB.csproj]
C:\Program Files\dotnet\sdk\8.0.108\NuGet.targets(156,5): error :   Response status code does not indicate success: 401 (Unauthorized).

解决方案步骤

1. 查看并移除残留的NuGet源

打开命令行执行以下命令,列出所有全局/用户级的NuGet源:

dotnet nuget list source

如果发现目标Azure DevOps源仍存在,执行删除命令:

dotnet nuget remove source <源名称>

也可直接编辑全局NuGet配置文件手动删除对应源节点,文件路径:

  • Windows: %appdata%\NuGet\NuGet.Config
  • macOS/Linux: ~/.config/NuGet/NuGet.Config

2. 清理Windows凭据管理器中的Azure DevOps凭据

Windows系统中,Azure DevOps的NuGet凭据可能存储在凭据管理器中:

  1. 打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」
  2. 搜索包含pkgs.dev.azure.com或你的Azure DevOps组织名的凭据条目
  3. 删除所有相关的凭据记录

3. 检查解决方案/目录级的NuGet配置

检查项目所在解决方案根目录或上级目录中是否存在nuget.config文件,这类文件可能覆盖全局配置,手动删除其中的目标源节点。

4. 检查Directory.Build.props/Directory.Build.targets文件

查看项目根目录或上级目录中的Directory.Build.props或Directory.Build.targets文件,确认是否有强制引入该Azure DevOps源的配置,如有则删除对应内容。

5. 彻底清理dotnet本地缓存

执行以下命令清理所有dotnet相关的NuGet本地缓存:

dotnet nuget locals all --clear

6. 临时指定restore源(应急方案)

如果以上步骤仍未解决,可在执行restore时手动指定官方NuGet源绕过问题:

dotnet restore --source https://api.nuget.org/v3/index.json

内容的提问来源于stack exchange,提问作者Hakuryuu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 02:58:18