我正在尝试在VS2010中使用Nuget。当我尝试从官方订阅源下载软件包时,它始终会失败并显示403。
我已经读过Nuget将使用与IE相同的代理设置,这对我来说是不幸的,因为我的IE被锁定了。我无法更改代理。
我已经摆弄了被反弹的feedservice网址,在IE中我得到一个错误,在Firefox中(定义了本地proxy.pac)网址解析得很好,我可以看到提要。
有没有办法手动配置Nuget不使用IE的设置?
答案 0 :(得分:24)
如果您无法将异常添加到代理中,或者只是想立即解决方案,请编辑位于Visual Studio安装目录中的Visual Studio配置文件(devenv.exe.config)(例如 - {{1} })并将C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
配置部分更改/添加到以下内容,这将使Visual Studio与代理一起使用:
<system.net>
您需要做的就是更改<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://<Insert proxy address here>" />
</defaultProxy>
<settings>
<servicePointManager expect100Continue="false" />
<ipv6 enabled="true" />
</settings>
</system.net>
&gt;到贵公司的代理地址。此外,根据您的代理设置,您可以使用 Expect100Continue 消息,可能不需要更改该配置元素。您可以找到更多信息here
答案 1 :(得分:15)
以下来自最近的相关问题answered。
以下是我使用NTLM身份验证的公司代理所做的工作。我从this page上的链接下载了 NuGet.exe ,然后运行了以下命令(我在CodePlex上的this discussion注释中找到了这些命令):
nuget.exe config -set http_proxy=http://my.proxy.address:port
nuget.exe config -set http_proxy.user=mydomain\myUserName
nuget.exe config -set http_proxy.password=mySuperSecretPassword
这会将以下NuGet.config
位于%appdata%\NuGet
(在我的Windows 7计算机上映射到 C:\ Users \ myUserName \ AppData \ Roaming ):< / p>
<configuration>
<!-- stuff -->
<config>
<add key="http_proxy" value="http://my.proxy.address:port" />
<add key="http_proxy.user" value="mydomain\myUserName" />
<add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" />
</config>
<!-- stuff -->
</configuration>
顺便说一句,这也解决了我的问题,NuGet只在我第一次点击Visual Studio中的包源时工作。
请注意,尝试此方法的某些人报告through the comments on my other answer他们可以省略从命令行设置
http_proxy.password
密钥,或者在事后删除它从配置文件中,仍然可以在代理中使用NuGet功能。
但是,如果您发现必须在NuGet配置文件中指定您的密码,请记住,当您执行时,必须从命令行更新NuGet配置中存储的密码如果您的代理凭据也是您的网络凭据,则更改您的网络登录。
答案 2 :(得分:2)
我设法让IT部门允许不受限制地访问packages.nuget.org,以便将其整理出来。我们在这里使用sophos,并且任何不喜欢外观的Web请求都被阻止。这适用于nuget网址。解决方法是使用库包管理器启动fiddler运行的安装。然后将禁止的URL复制到我的浏览器中并告诉sophos它没问题。然后我可以成功安装包装
希望这可以帮助任何人阻止好战的防火墙
答案 3 :(得分:2)
如果您不知道代理设置并且NuGet要求代理用户和密码,您可以尝试在devenv.exe.config
标记之间的Visual Studio安装目录中添加<system.net>
文件:
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
它应该如下所示,具体取决于您的VisualStudio:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
<settings>
<ipv6 enabled="true" />
</settings>
</system.net>
它甚至没有给出代理地址对我有用:) 真的,这应该是默认行为,我失去了这么多天试图克服这个......
答案 4 :(得分:0)
我在通过Nuget控制台访问Nuget网站时遇到了问题。 “从传输流中收到意外的EOF或0字节。”最终成为代理问题,不同之处在于我的工作代理是“隐身”并且没有配置选项。我通过以下步骤解决了我的问题。
这可能有助于解决以下问题:
我希望这会有所帮助。