使用NuGet程序包pipe理器控制台时无法访问源代码

我们正在将我们的软件包pipe理从手动更新文件移动到NuGet。 我正在尝试安装旧版本的软件包以匹配我们在源代码控制中已有的版本。 没有办法从UI做到这一点,所以我使用命令行来获得正确的版本。

出于某种原因, Install-Package不断告诉我,nuget库是无法访问的。

nuget.org [ https://www.nuget.org/api/v2/]的源代码无法访问。 回落到NuGet本地caching

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

什么可以导致这个? 有没有办法在每个解决scheme/项目的基础上覆盖软件包源?

即使我的软件包源设置为包pipe理器控制台中的nuget.org,明确地添加-Source nuget.org参数为我解决了这个问题。

所以一个使用的例子是:

Install-Package Akka.net -Source nuget.org

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

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

信用这个build议属于这里: https ://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351,以“jpharris4”。

我不确定是什么原因导致了您的问题,但确实有一种方法可以根据每个解决scheme来重写软件包源, 但前提是您已经在给定的解决scheme上启用了NuGet软件包还原

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

如果ItemGroup为空(或者完全注释掉,如图所示),那么解决scheme将使用一个特定的文件,该文件应该与工具>>选项下列出的源相同。 但是,如果您取消注释或将P​​ackageSource项目添加到该ItemGroup,则解决scheme将search列出的软件包源,并仅search列出的软件包源。

Nuget.targets文件的内容

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

在这里输入图像说明

VS 2015中似乎还有一些与api.nuget.org(v3)相关的bug。

就我而言,原因是这个软件包有一个协议。 通过UI – “pipe理NuGet包”对话框,您可以select接受并继续。

在VS 2013的包pipe理器控制台似乎有这个问题。 正如其他人所说,重新启动VS 2013可能会解决它的控制台。

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

去: 工具 – >选项 – > Nuget包pipe理器 – >包源

我find了来源。 取消选中它们,然后将它们检查回来使其重新显示在我的程序包pipe理器控制台中

这在我的VS 2015工作: 工具 – >选项 – > Nuget包pipe理器 – >包源

  1. 按添加button
  2. 在名称标签中编辑:nuget.org
  3. 在源标签中编辑: https : //www.nuget.org/api/v2/
  4. 按OK

希望能帮助到你 ;)

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

我也遇到了同样的问题。 但是我的问题的原因是与TFS失去联系。 我的TFS服务器托pipe在其他networking中,我用VPN访问它。 当我试图安装没有build立连接到TFS的包时(VPN被closures),我得到了同样的问题。

注意这个TFS行为。

由于您在离线模式下工作,重新连接networking时需要注销并重新login。 包pipe理器将顺利重新初始化。

我遇到了VS2013这个问题,浪费了3个小时的时间。

不知道是什么原因的问题。 但是,上述解决scheme都不适合我。

Nuget Package Manager控制台的重新安装为我工作。

工具 – >扩展和更新 – >全部下查找适用于Visual Studio的Nuget Package Manager,并点击卸载。

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

在这里input图像描述可能是你的办公室/家庭防火墙阻止nuget.org所以尝试连接不同的互联网networking,例如从您的手机或wifi。我能够通过这种方法解决。