C# NuGet VS 2012 ServicePointManager不支持带有https方案的代理

C# NuGet VS 2012 ServicePointManager不支持带有https方案的代理,c#,nuget,visual-studio-2012,C#,Nuget,Visual Studio 2012,我最近从VS2012 RC升级到RTM,自从升级到RTM后,我就不能再访问nuget了。我在Manage NuGet Packages窗口中收到以下错误 The ServicePointManager does not support proxies with the https scheme. 我查看了前面的堆栈溢出问题中提供的解决方案,但它不适用于我,因为我不在防火墙后面(当然不应该是防火墙,也不应该由防火墙验证)。我还可以看到RSS提要/VS可以访问其他网络资源,在前面的问题中,问题与所

我最近从VS2012 RC升级到RTM,自从升级到RTM后,我就不能再访问nuget了。我在Manage NuGet Packages窗口中收到以下错误

The ServicePointManager does not support proxies with the https scheme.
我查看了前面的堆栈溢出问题中提供的解决方案,但它不适用于我,因为我不在防火墙后面(当然不应该是防火墙,也不应该由防火墙验证)。我还可以看到RSS提要/VS可以访问其他网络资源,在前面的问题中,问题与所有VS互联网流量有关,而不仅仅是我的例子中的NuGet


你知道这是什么原因吗?或者如何恢复对NuGet的访问?我在工作时的机器上和在家里的个人电脑上都试过,效果都一样。

答案如下:


该问题与默认Nuget软件包源上的错误SSL证书有关。

如果在internet设置中设置了代理,也会发生这种情况

检查系统环境变量中的
http\u proxy
https\u proxy
。NuGet会首先查看那些是否存在。如果这些代理环境变量以https开头,NuGet将失败。修复它们并重新启动计算机(重新启动Visual Studio对我不起作用)

您可以通过打开Package Manager控制台来验证这一点:

Get-Childitem env:http_proxy
Get-Childitem env:https_proxy
$env:http_proxy = "http://your.proxy.com:1234"
$env:https_proxy = "http://your.proxy.com:1234"
如果要在不重新启动计算机的情况下快速使其工作,请在Package Manager控制台中手动设置代理:

Get-Childitem env:http_proxy
Get-Childitem env:https_proxy
$env:http_proxy = "http://your.proxy.com:1234"
$env:https_proxy = "http://your.proxy.com:1234"

答案很晚,但在VS 2015中恢复Nuget软件包时,我得到了完全相同的信息。上次我重启机器的时候,我似乎并没有停止Fiddler,而Fiddler似乎在一个有趣的状态下留下了一些东西。当我从Fiddler启动和退出时,问题就消失了。

我开始在我的一台机器上的VS2015中得到这个。我在myget上有一个额外的包提要,它不断地向我请求凭据,即使输入正确的凭据也失败了。 帮助我的是通过删除以下两个nuget文件夹来清除nuget缓存和配置:

  • %APPDATA%\n获取
  • %LOCALAPPDATA%\nGet

之后,我重新启动了Visual Studio并再次添加了自定义包源代码。

我不确定nuget使用历史记录中发生了什么,但我最终无法为我的开发机器使用代理。让它工作

1-开放式小提琴手

2-转到
%AppData%\NuGet\NuGet.config

包源

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

3-配置

<config>
    <add key="HTTP_PROXY" value="http://127.0.0.1:8888" />
  </config>


4-盈利。

我也面临同样的问题,因为我刚刚关闭了我的fiddler并重新启动Visual Studio来解决这个问题

NuGet VS 2015 ServicePointManager不支持https方案的代理

问题不在于代理,因为在我的案例中,代理已被删除。 因此,必须更改visual studio配置文件。 但在其他情况下,答案也可能在于根据您的情况更改配置文件

转到:
C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\Common7\IDE

找到配置文件
devenv.exe.config
并在管理员模式下编辑:

        <defaultProxy enabled="false" useDefaultCredentials="true">  
            <proxy bypassonlocal="True" proxyaddress="http://proxy.somesite.nl" />  
        </defaultProxy> 

设置enabled=“false”或根据您的需要调整该部分


在更改后重新启动VS。

我只是通过安装Fiddler获得了这一点。我试着启动它,然后退出,以确保它没有运行,但仍然无法开始工作。肯定还剩下一些钩子。

确切地说,我在machine.config中添加了一个默认代理,以便在Fiddler中捕获来自.NET的SOAP请求。我删除了代理配置条目,保存了配置,然后不得不重新启动VS,这解决了问题。这是正确的答案,代理是导致此错误的原因。在我的情况下是这样的。一旦我删除了它们,错误就消失了。从包管理器设置中禁用其他NuGet提要对我来说很有效。@rawel,请单独回答:)您的解决方案解决了我的问题。奇怪的是,只有这台计算机需要这种特定的配置。在所有其他计算机上,默认配置工作正常。