(405)Visual Studio 2017(NuGet)程序包管理器不允许使用的方法

时间:2018-07-26 10:21:53

标签: visual-studio proxy nuget nuget-package http-proxy

我在Visual Studio程序包管理器输出中得到的错误是:

[nuget.org] Unable to load the service index for source https://www.nuget.org/api/v2.
  An error occurred while sending the request.
  The remote server returned an error: (405) Method Not Allowed.

NuGet.config中配置代理或不配置代理对结果没有影响。

我配置中的

nuget.org是:

<add key="nuget.org" value="https://www.nuget.org/api/v2" />

如果我将环境http_proxy设置为我的公司代理,则可以使用nuget.exe(NuGet Version: 4.7.0.5148)复制它

nuget list -source nuget.org -ForceEnglishOutput

Unable to load the service index for source https://www.nuget.org/api/v2.
  An error occurred while sending the request.
  The remote server returned an error: (405) Method Not Allowed.

如果我清除环境http_proxy,则同一命令将开始列出软件包。 (我使用crtl+c中止了。)

我知道Visual Studio中的程序包管理器与nuget.exe之间是有区别的。

据我了解,两者都使用相同的nuget.config文件。 正如我所看到的,程序包管理器使用了我未检查的代理设置。我找不到那里。

是否存在我未检查的代理设置? 我还想念其他东西吗?

编辑: 当我从Nuget.Config中删除代理设置,然后在Visual Studio中更新程序包源时,我的Nuget.Config设置将被重写以恢复我的代理设置。

1 个答案:

答案 0 :(得分:0)

Visual Studio在内存中保留了该配置的副本。每次软件包管理器连接时,它都会重写nuget.config

因此,我的问题通过关闭vs2017,手动编辑nuget.config并重新启动Visual Studio得以解决。