NuGet包管理器:尽管该软件包存在,但显示“未找到软件包”

17

升级Visual Studio至2015 Update 2后,我在NuGet Package Manager中不断收到"No packages found"的错误提示,尽管我知道存在可以从Package Manager Console添加的包并且已经通过浏览/搜索找到了它们。

这很令人沮丧,因为NuGet网站明确显示这些包是可用的。作为一种解决方法,我可以通过Package Manager Console安装它们,但GUI只显示"No packages found"。

4个回答

27

自从VS2015更新2版本以来,安装的默认和唯一提供源是“Microsoft and .NET”的MS-Curated管理的源, https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/

该源缺少很多常用的包。

您可以通过添加包含所有包的“普通”NuGet源来解决此问题:

  1. 以管理员身份打开Visual Studio 2015
  2. 选择 "工具" > "选项"
  3. 选择 "NuGet 包管理器" > "包源"
  4. 点击绿色的 "添加" 图标,并添加以下源:

    NuGet: https://api.nuget.org/v3/index.json


16

以下是我在处理此问题时会采取的故障排除步骤。

  1. Visual Studio 设置
    • 确保您在BROWSE部分。
    • 单击右侧的Package Source下拉列表。
      • 确保列出了nuget.org
        • 如果未列出nuget.org,请添加它。
          • 打开Tools > Options(将打开选项窗口)
          • 找到NuGet Package Manager > Package Sources
          • 在可用源下,点击+图标。
          • 输入NuGet.org作为包名称
          • https://api.nuget.org/v3/index.json 作为软件包来源输入。
          • 单击OK按钮保存更改。
      • **重要**选择ALL作为搜索所有源的软件包源。

进入图像描述

  1. 连接性和DNS

    • 确保已连接到互联网
      • 打开CMD
      • ping 8.8.8.8
        • 如果没有响应,则您的互联网未连接
      • ping api.nuget.org
        • 如果此项无法解析为IP,则存在DNS问题。
      • nslookup api.nuget.org 8.8.8.8
        • 这应列出与ping相同的IP地址(以及其他一些信息)。 如果不是,则可能存在DNS问题(某些本地ISP DNS服务器不太好)。 尝试将互联网连接的DNS服务器更改为8.8.8.8并重试。
  2. 代理问题

    • 您是否打开了Fiddler? 这可能会干扰您与nuget存储库的连接。尝试关闭它。
    • 是否将所有.NET设置为通过代理运行? 如果您需要查看所有请求,请执行此常见的故障排除步骤。
      • 打开C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
      • 删除或注释掉代理配置

代理配置部分

<system.net>
<defaultProxy enabled = "true" useDefaultCredentials = "true">
<proxy autoDetect="false" bypassonlocal="false" 
proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>

6
在我的情况下,我正在寻找一个预发布版本,但忘记勾选“包括预发布版本”。

5

人们可能会看到“未找到软件包”的另一个原因是UI默认显示“已安装”软件包。 只需切换到“浏览”选项卡,而不是“已安装”选项卡。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接