NuGet包管理器:"没有找到包裹"即使包存在

时间:2016-05-18 07:44:31

标签: visual-studio visual-studio-2015 nuget

将Visual Studio更新到2015 Update 2后,我一直收到#34;找不到包"尽管浏览/搜索我知道存在且可以从软件包管理器控制台添加的软件包,但NuGet软件包管理器中出现错误。

这令人沮丧,因为NuGet网站清楚地显示了可用的包裹。作为一种解决方法,我可以通过软件包管理器控制台安装它们 - 但是GUI只显示"没有找到软件包"。

4 个答案:

答案 0 :(得分:9)

从VS2015 Update 2开始,安装的默认和唯一Feed是MS-Curated" Microsoft和.NET",https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/

这个Feed缺少很多常用的包。

您只需添加"普通"即可解决此问题。 NuGet提供所有包裹:

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

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

答案 1 :(得分:5)

人们可能最终看到“找不到包裹”的另一个原因是UI默认为“已安装”包。 只需切换到“浏览”标签,而不是“已安装”标签。

enter image description here

答案 2 :(得分:5)

以下是我在查看此问题时将采取的故障排除步骤。

  1. Visual Studio设置
    • 确保您位于浏览部分。
    • 点击右侧的Package Source下拉列表。
      • 确保列出 nuget.org
        • 如果未列出nuget.org,请添加它。
          • 打开工具> 选项(选项窗口将会打开)
          • 找到 NuGet程序包管理器> 套餐来源
          • 在可用来源下,点击 + 图标。
          • 输入 NuGet.org 作为包名称
          • 输入 Source code of reffered page 作为包源。
          • 点击确定按钮保存更改。
      • **重要** 选择全部作为您的包源来搜索所有来源。
  2. https://api.nuget.org/v3/index.json

    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
        • 删除或注释掉代理配置
    3. 代理配置部分

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

答案 3 :(得分:1)

在我的情况下,我正在寻找预发行版本,却忘记了选中“包括预发行版本”