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