首页 文章

使用NuGet包管理器控制台时无法访问源

提问于
浏览
151

我们正在将包管理从手动更新文件转移到NuGet . 我正在尝试安装旧版本的软件包以匹配我们在源代码管理中已有的软件包 . 没有办法从UI执行此操作,因此我使用命令行来获取正确的版本 .

出于某种原因, Install-Package 继续告诉我nuget图库无法访问 .

nuget.org [https://www.nuget.org/api/v2/]的来源无法访问 . 回到NuGet本地缓存

这只发生在我们的一个解决方案中 . 如果我在同一个存储库中创建新解决方案或使用另一个解决方案,则将按预期安装包 . 我甚至可以在虚拟解决方案中安装软件包以填充本地缓存,然后在故障解决方案中成功安装它们 . 我试图在NuGet控制台的URL上 Invoke-WebRequest ,我得到一个HTTP 200 .

是什么导致这种情况?有没有办法在每个解决方案/项目的基础上覆盖包源?

12 回答

  • 1

    我对同一条消息也有同样的问题 . 但我的问题的原因是失去了与TFS的连接 . 我的TFS服务器托管在其他网络中,我使用VPN访问它 . 当我尝试在没有与TFS Build 连接的情况下安装软件包(VPN已关闭)时,我遇到了同样的问题 .

    请注意此TFS行为 .

  • 5

    在我的情况下,原因是包裹有一个协议 . 通过UI - “管理NuGet包”对话框,您可以选择接受并继续 .

    VS 2013中的程序包管理器控制台似乎存在此问题 . 正如其他人所说,重新启动VS 2013可能会解决它的控制台 .

  • 0

    在我的软件包管理器控制台中,我看不到任何来源

    去: Tools -> Options -> Nuget Package Manager -> Package Sources

    我找到了消息来源 . 取消选中它们,然后检查它们会重新显示在我的程序包管理器控制台中

  • 10

    您也可以从UI更改NuGet源 . 只需将NuGet源更改为旧版本,它应该可以正常工作 .

    enter image description here

    VS 2015中与api.nuget.org(v3)相关的漏洞似乎仍然很少 .

  • 337

    这对我在VS 2015教授中有用: Tools -> Options -> Nuget Package Manager -> Package Sources

    希望能帮助到你 ;)

  • 1

    我必须提供comman以及完整的URL作为 Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2

  • 0

    发生的原因是您在离线模式下工作,当您重新连接网络时需要注销并重新登录 . 包管理器将顺利重新初始化 .

  • 0

    enter image description here可能是您的办公室/家庭防火墙阻止nuget.org所以尝试连接不同的互联网网络,例如从您的手机或WiFi . 我能够通过这种方法解决 .

  • 2

    我已经面临这个问题VS2013并浪费了3个小时的时间 .

    不确定问题的原因是什么 . 但上述解决方案都不适合我 .

    重新安装Nuget Package Manager控制台对我有用 .

    工具 - >扩展和更新 - >全部查找Visual Studio的Nuget包管理器并点击卸载 .

    转到https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013并下载扩展程序 .

  • 6

    我不得不在Visual Studio的选项中复制默认的NuGet源代码 . 使用复制的源,我将URL从 https 更改为 http . 这解决了我的问题 .

    这个建议的功劳属于:https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351,到"jpharris4" .

  • 0

    即使我的Package Source在Package Manager Console中设置为nuget.org,显式添加 -Source nuget.org 参数也为我修复了这个问题 .

    所以使用的一个例子是:

    Install-Package Akka.net -Source nuget.org

    Akka.net是你想要安装的软件包,它只是一个例子 .

  • 1

    我不确定是什么原因导致您的问题,但是 is indeed 是一种基于每个解决方案覆盖包源的方法, but only if you've enabled NuGet Package Restore 在给定的解决方案上 .

    一旦解决方案启用了NuGet Package Restore,就会将一个名为“.nuget”的文件夹添加到解决方案中 . 在这下面将是一个名为“NuGet.targets”的文件,它有一个ItemGroup,其条件为“'$(PackageSources)'==''”,就像您在附加图像中看到的那样 .

    如果ItemGroup为空(或完全注释掉,如图所示),则解决方案将使用 should 与TOOLS >> OPTIONS下列出的源相同的特定文件 . 但是,如果您取消注释或将PackageSource项添加到该ItemGroup,解决方案将搜索列出的包源,并且只搜索列出的包 .

    Contents of the Nuget.targets file

相关问题