访问公司代理后面的Nuget官方软件包源代码

时间:2011-10-10 09:01:27

标签: visual-studio-2010 nuget

我正在尝试在VS2010中使用Nuget。当我尝试从官方订阅源下载软件包时,它始终会失败并显示403。

我已经读过Nuget将使用与IE相同的代理设置,这对我来说是不幸的,因为我的IE被锁定了。我无法更改代理。

我已经摆弄了被反弹的feedservice网址,在IE中我得到一个错误,在Firefox中(定义了本地proxy.pac)网址解析得很好,我可以看到提要。

有没有办法手动配置Nuget不使用IE的设置?

5 个答案:

答案 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字节。”最终成为代理问题,不同之处在于我的工作代理是“隐身”并且没有配置选项。我通过以下步骤解决了我的问题。

  1. 以管理员身份打开Visual Studio
  2. 打开Visual Studio内部浏览器(“查看”|“其他Windows”|“Web浏览器”)
  3. 访问您的银行网站 - 或其他使用SSL的网站 可能需要实际登录该网站,我没有。
  4. 然后在Nuget控制台中运行Install-package命令。
  5. 命令无错误地工作。
  6. 这可能有助于解决以下问题:

    我希望这会有所帮助。