NuGet返回503服务器不可用

Tal*_*ell 13 nuget nuget-package nuget-server visual-studio-2012

当Visual Studio包管理器(NuGet)响应"远程服务器返回错误:(503)服务器不可用"消息时,有没有办法从备用服务器加载包?

Six*_*aez 25

这是一个模糊的情况,可能只会出现在" 企业 "的网络环境中.如果这些条件适用于您:

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

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

  • 你一直在搞乱从Linux/Unix环境移植到Windows的很酷的开发人员工具

  • 添加HTTP_PROXY(或可能是HTTPS_PROXY或两者)环境变量后,新的酷工具工作

  • 您可以从浏览器访问NuGet服务器而不会收到503错误

然后你可能会因为无意中调用这个配置功能而破坏了NuGet .我不确定环境变量究竟是如何破坏NuGet的,但我怀疑NuGet正在检测并使用http_proxy URL,但发送一个空的用户ID和密码,导致HTTP代理拒绝请求.

修复:删除您添加的环境变量,看看酷工具是否可以配置为使用没有它们的HTTP代理.

更新:使用上面"此配置功能"链接中引用的NuGet配置文件进入此问题的版本.打开此文件:

%APPDATA%\的NuGet \nuget.config

在你最喜欢的编辑器中 如果它包含带有http_proxyhttps_proxy的元素,那么删除这些元素也可以解决问题.

PS:希望我能从Panic上校获得一票:-)


Tal*_*ell 6

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

在"可用包源"部分中,键入"Cache"之类的名称,然后键入源,浏览到%LocalAppData%\ NuGet\Cache.您可能需要使用Windows资源管理器将%LocalAppData%\ NuGet\Cache转换为完整路径(通常为C:\ Users\YourAccountName\AppData\Local\NuGet\Cache).

将Cache作为可用源后,您现在可以使用Package Manager控制台(位于Other Windows下的View菜单下或Library Package Manager下的Tools菜单下).

在Console(具有NuGet命令行开关的PowerShell窗口)中,您可以键入"get-help NuGet"以查看可用命令.

然后使用Get-Package,您可以获得包ID列表.确保"包源"设置为"缓存"(或任何您调用的),并将默认项目设置为您需要操作的项目,这两个都是位于页面管理器控制台顶部的下拉列表.您还可以使用Get-Project来验证您是否正在解决解决方案中的正确项目.

最后,您可以键入Install-Package,并在出现提示时从Get-Package命令行开关的输出中输入Package ID.