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

Visual Studio中NuGet服务索引加载失败及登录异常求助

解决VS 2017 NuGet包管理器及登录Microsoft的程序集/安全规则问题

我处理过不少这类Win10更新后VS组件异常的案例,结合你的具体情况,咱们一步步来解决:

1. 修复System.Net.Http程序集绑定冲突

Win10更新很可能修改了全局程序集缓存(GAC)里的System.Net.Http版本,导致VS找不到指定的4.0.0.0版本。咱们直接给VS的配置文件添加绑定重定向:

  • 找到VS安装目录下的devenv.exe.config,路径一般是C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
  • 打开文件,找到<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">节点,添加或修改以下内容:
    <dependentAssembly>
      <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
    
  • 保存后重启VS,测试NuGet浏览页是否恢复正常

2. 清理NuGet缓存并重置源

缓存损坏也可能导致源加载失败,先彻底清理:

  • 打开命令提示符(管理员权限),执行命令:
    nuget locals all -clear
    
  • 打开VS,依次点击「工具->NuGet包管理器->包管理器设置->包源」,点击右上角的「重置」按钮,然后确认保存
  • 再次打开NuGet浏览页,等待源加载完成

3. 解决登录时的继承安全规则错误

这个错误是因为旧的.NET安全策略和System.Net.Http的新实现冲突了,咱们禁用旧安全策略即可:

  • 回到刚才的devenv.exe.config文件,找到<runtime>节点,添加以下配置:
    <NetFx40_LegacySecurityPolicy enabled="false" />
    
  • 同时检查系统的machine.config(路径一般是C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config),确保同样没有启用旧安全策略,如果有类似配置,改成enabled="false"
  • 重启VS后尝试登录Microsoft账号

4. 彻底验证VS组件和.NET Framework安装

为了避免问题复发,咱们再做一次彻底的组件校验:

  • 运行VS安装程序,选择「修改」,确保勾选了.NET Framework 4.7.2开发工具以及NuGet包管理器组件,点击「修改」完成安装
  • 下载并运行微软官方的.NET Framework修复工具,修复.NET Framework的安装异常

预防措施

  • 如果你的项目允许,建议升级VS 2017到15.9.x的最后版本(这是VS 2017的最终稳定版),后续的更新补丁修复了不少这类兼容性问题
  • 尽量避免手动修改GAC里的程序集,Win10更新后可能会覆盖这些修改,导致冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:53