我们正在将包管理从手动更新文件转移到NuGet。我正在尝试安装旧版本的软件包以匹配我们在源代码管理中已有的软件包。没有办法从UI执行此操作,因此我使用命令行来获取正确的版本。
出于某种原因,Install-Package
一直告诉我nuget图库无法访问。
nuget.org [https://www.nuget.org/api/v2/]的来源无法访问。回退到NuGet Local Cache
这只发生在我们的一个解决方案中。如果我在同一个存储库中创建新解决方案或使用另一个解决方案,则将按预期安装包。我甚至可以在虚拟解决方案中安装软件包以填充本地缓存,然后在故障解决方案中成功安装它们。我试图从NuGet控制台的网址Invoke-WebRequest
获得HTTP 200。
这会导致什么?有没有办法在每个解决方案/项目的基础上覆盖包源?
答案 0 :(得分:337)
即使我的 Package Source 在Package Manager Console中设置为nuget.org,显式添加-Source nuget.org
参数也为我修复了这个。
所以使用的一个例子是:
Install-Package Akka.net -Source nuget.org
Akka.net是你想要安装的软件包,它只是一个例子。
答案 1 :(得分:10)
我不得不在Visual Studio的选项中复制默认的NuGet源代码。使用复制的来源,我将网址从https
更改为http
。这解决了我的问题。
此建议的功劳属于:https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351," jpharris4"。
答案 2 :(得分:6)
我不确定会导致您出现问题的原因,但 确实 是一种在每个解决方案的基础上覆盖包源的方法, 但仅当您在给定解决方案上启用了NuGet包恢复 时。
一旦解决方案启用了NuGet Package Restore,就会在解决方案中添加一个名为“.nuget”的文件夹。在这下面将是一个名为“NuGet.targets”的文件,它有一个ItemGroup,其条件为“'$(PackageSources)'==''”,就像你在附图中看到的一样。
如果ItemGroup为空(或完全注释掉,如图所示),则解决方案将使用 与列出的来源相同的特定文件在TOOLS>>下选项。但是,如果您取消注释或将PackageSource项添加到该ItemGroup,解决方案将搜索列出的包源以及列出的包源。
答案 3 :(得分:6)
您也可以从UI更改NuGet源。只需将NuGet源更改为旧版本,它应该可以正常工作。
VS 2015中与api.nuget.org(v3)相关的漏洞似乎仍然很少。
答案 4 :(得分:2)
在我的软件包管理器控制台中,我看不到任何来源
去: 工具 - >选项 - > Nuget包管理器 - >套餐来源
我找到了消息来源。取消选中它们,然后检查它们会重新显示在我的程序包管理器控制台
中答案 5 :(得分:1)
在我的情况下,原因是包裹有一个协议。 通过用户界面 - "管理NuGet包"对话框,您可以选择接受并继续。
VS 2013中的程序包管理器控制台似乎存在此问题。 正如其他人所说,重新启动VS 2013可能会为控制台解决它。
答案 6 :(得分:1)
这对我在VS 2015教授中有用:工具 - >选项 - > Nuget包管理器 - >套餐来源
希望它有所帮助;)
答案 7 :(得分:1)
我必须提供comman以及完整的网址Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2
答案 8 :(得分:0)
我对同一条消息也有同样的问题。但我的问题的原因是失去了与TFS的连接。我的TFS服务器托管在其他网络中,我使用VPN来访问它。当我尝试安装没有与TFS建立连接的软件包(VPN已关闭)时,我遇到了同样的问题。
请注意此TFS行为。
答案 9 :(得分:0)
发生因为您在脱机模式下工作,当您重新连接网络时需要注销并重新登录。包管理器将顺利重新初始化。
答案 10 :(得分:0)
我在VS2013遇到过这个问题并浪费了3个小时的时间。
不确定问题的原因是什么。但上述解决方案都不适合我。
重新安装Nuget Package Manager控制台对我有用。
工具 - >扩展程序和更新 - >在All Look for Nuget Package Manager for Visual Studio下,点击卸载。
转到https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013并下载扩展程序。
答案 11 :(得分:0)
enter image description here可能是您的办公室/家庭防火墙阻止nuget.org所以尝试连接不同的互联网网络,例如从您的手机或WiFi。我能够通过这种方法解决。
答案 12 :(得分:0)
这些解决方案都不适用于VS2013。是的,我知道这是2020年。 最后,我将nuget软件包下载到本地文件夹,将该文件夹添加到nuget设置中,然后voila !,便能够安装该软件包。