有些公司上网使用的是Http代理。默认情况下,VS是无法访问外部网络的。如果要使用NuGet,通常只能在局域网里架一个自己的NuGet服务器。但这种方法不论是package的数量还是更新频率都远远不如官方NuGet。所以有必要想个办法通过代理访问NuGet官方源。

NuGet的官方源地址是:https://nuget.org/api/v2/ 在VS的设置页面中可以配:

确认这个地址无误后,需要手动对VS的两处设置做更改,才能让VS用代理访问外部网络。

首先,关闭VS。打开VS安装目录,比如:D:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE 下的“devenv.exe.config”。

然后修改System.Net节点如下,proxyaddress改成你自己的代理地址。

    <system.net>
		<defaultProxy useDefaultCredentials="true" enabled="true">
			<proxy proxyaddress="http://10.158.140.91:80"/>
        </defaultProxy>
        <settings>
            <ipv6 enabled="true"/>
			<servicePointManager expect100Continue="false" />
        </settings>
    </system.net>

第二步,打开用户目录,比如: C:\Users\Edi_Wang\AppData\Roaming\NuGet 下的“NuGet.Config”

增加一个config节点如下:value换成你自己的代理地址。

<configuration>
    <config>
        <add key="http_proxy" value="http://10.158.140.91:80" />
    </config>
	...
</configuration>

现在再次启动VS,就可以访问NuGet官方源了: