Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NuGet返回503服务器不可用_Nuget_Visual Studio 2012_Nuget Package_Nuget Server - Fatal编程技术网

NuGet返回503服务器不可用

NuGet返回503服务器不可用,nuget,visual-studio-2012,nuget-package,nuget-server,Nuget,Visual Studio 2012,Nuget Package,Nuget Server,当Visual Studio软件包管理器(NuGet)响应“远程服务器返回错误:(503)服务器不可用”消息时,是否有方法从备用服务器加载软件包?如果您过去使用过该软件包,它可能在缓存中。通过进入Visual Studio中“工具”菜单下的“库包管理器设置”,可以将本地缓存添加为可用的包源。对于Visual Studio 2012,选择工具、库包管理器、包管理器设置,然后单击包源 在Available package sources(可用软件包源)部分中,键入类似“Cache”(缓存)的名称,然

当Visual Studio软件包管理器(NuGet)响应“远程服务器返回错误:(503)服务器不可用”消息时,是否有方法从备用服务器加载软件包?

如果您过去使用过该软件包,它可能在缓存中。通过进入Visual Studio中“工具”菜单下的“库包管理器设置”,可以将本地缓存添加为可用的包源。对于Visual Studio 2012,选择工具、库包管理器、包管理器设置,然后单击包源

在Available package sources(可用软件包源)部分中,键入类似“Cache”(缓存)的名称,然后在中找到源,浏览到%LocalAppData%\NuGet\Cache。您可能需要使用Windows资源管理器将%LocalAppData%\NuGet\Cache转换为完整路径(通常C:\Users\YourAccountName\AppData\Local\NuGet\Cache

缓存作为可用源后,现在可以使用软件包管理器控制台(位于其他窗口下的“视图”菜单下,或位于库软件包管理器下的“工具”菜单下)

在控制台(这是一个PowerShell窗口,其中包含用于NuGet的Commandlet)中,您可以键入“get-help NuGet”以查看可用的命令

然后使用获取包,您可以获取包ID的列表。确保将“包源”设置为“缓存”(或您所称的任何内容),并将默认项目设置为您需要操作的项目,这两个项目都是位于页面管理器控制台顶部的下拉列表。您还可以使用Get项目来验证您正在针对解决方案中的正确项目工作


最后,您可以键入安装程序包,并在出现提示时从Get-Package命令的输出中输入程序包ID。

Talbott的回答对我不起作用,因为我的缓存是空的。但是,如果您在另一个解决方案中使用了该包,则可以将所需项目从另一个解决方案中的“packages”文件夹复制到目标解决方案中的packages文件夹

如果目标解决方案中未安装软件包,则可能需要将以下内容添加到软件包文件夹中的repositories.xml文件中:

<?xml version="1.0" encoding="utf-8"?>
<repositories>
</repositories>

完成后,软件包似乎安装在我的解决方案中,我可以将它们添加到项目中


附加说明:我必须在解决方案级别使用“Manage NuGet Packages for Solution”选项将包添加到单个项目中。从控制台使用Install Package仍然会返回503,即使解决方案中已经安装了这些软件包。

这是一种模糊的情况,可能只会发生在“企业”网络环境中。如果这些条件适用于您:

  • 您需要通过HTTP代理服务器访问Internet

  • HTTP代理服务器需要有效的用户ID和密码(或AD身份验证)以允许请求继续

  • 您一直在使用从Linux/Unix环境移植到Windows的酷炫开发工具

  • 新的酷工具在添加HTTP_代理(或者可能是HTTPS_代理,或者两者兼而有之)后工作

  • 您可以通过浏览器访问NuGet服务器,而不会出现503错误

那么很可能是由于无意中调用了。我不确定环境变量是如何破坏NuGet的,但我怀疑NuGet正在检测并使用http_代理URL,但发送了一个空的用户ID和密码,从而导致http代理拒绝请求

修复:删除您添加的环境变量,并查看cool工具是否可以配置为使用HTTP代理而不使用它们

更新:遇到了此问题的一个版本,上面的“此配置功能”链接中引用了NuGet配置文件。打开此文件:

%appdata%\nuget\nuget.config

在您最喜欢的编辑器中。如果它包含带有http\U proxy或https\U proxy的元素,则删除这些元素也可以解决此问题


PS:希望我能得到Panic上校的支持票:-)

如果您正在使用VPN客户端(例如Cisco AnyConnect),并且您最近更新了VPN证书,您也可能会出现此错误。问题可能发生在更新证书之后,但在重新启动之前。重新启动解决了这个问题。

我也遇到了这个问题,这是因为我的网络。 如果您的互联网有任何阻塞(如公司互联网等) 您可能不允许下载nuget软件包


尝试在另一个网络中下载该软件包,也许它可以帮助您

这是一个很老的问题,但我刚刚遇到了同样的问题。在我的例子中,发生这种情况是因为我在VisualStudio包管理器中配置了多个nuget包源。在我的公司,我们使用NuGet获取主流软件包,而MyGet则用于我们自己的东西

当我试图拉一个相当大的包时,它失败了,代码是503,错误链接看起来很奇怪,它有MyGet,而不是NuGet。结果表明,尽管选择NuGet作为当前源,VisualStudio软件包管理器还是试图从另一个源中提取它。禁用其他源,然后继续下载修复了它


希望它能帮助像我一样偶然发现这条线索的人。

下面的答案只是解决办法。真正解决问题的第一步是找到服务器Nuget指的是什么(为什么不打印Nuget!)。503是http响应代码。唉,我不知道如何找出Nuget的URL错误。先生,你是一个绅士和语言学家!伟大的后删除环境变量HTTP_代理和HTTPS_代理修复了它的meNice一!花了几个小时研究这个问题:(这对我来说不起作用。我没有这些环境变量,我尝试修改AppData nuget.conf