Visual Studio错误:(407:需要代理身份验证)

时间:2012-12-05 06:52:01

标签: visual-studio proxy proxy-authentication

我支持需要凭据的公司代理服务器。我一直试图在过去2小时内使用 MS Visual Studio Pro 2012 连接到TFS服务器(在tfspreview.com上),但没有成功。每次尝试都遇到了这个错误:

enter image description here

集成浏览器启动时工作正常。它询问我的代理登录凭据,一旦输入,我就去了。所以这里有一些不同的连接方法。

我也导航到TFS服务器,在我的项目中,我点击了打开Visual Studio的新实例。新实例在输出中失败并显示此消息:

HTTP code 407: Proxy Authentication Required

我已尝试在another post找到的所有内容都无济于事。我已经对 devev.exe.config 进行了每次编辑和组合编辑,但我没有成功。

可能是2010版本与2012专业版有所不同吗?我正在运行Windows 7。

任何人都能解开一些光明吗?请?

注意:此问题也适用于Visual Studio 2013

13 个答案:

答案 0 :(得分:84)

经过三天的搜索,解决方案落到了我的腿上。

现在,发生的事情是VS尝试进行自动更新但被代理停止了。我被提示输入凭据并进行了检查。

如果提示可能会为TFS服务器建立一个隧道连接,那么我很有兴趣检查TFS服务器连接只是为了踢! 有效!

解决方法:

  1. 打开工具>扩展程序&更新
  2. 点击左侧菜单中的更新...
  3. 屏幕上会显示失败通知,并提供输入凭据的链接。单击它并输入它们。
  4. 关闭扩展程序管理器。
  5. 点击 TEAM>连接到TFS服务器...
  6. 输入地址,它会起作用!
  7. 注意:有些人建议您尝试通过打开集成浏览器来使用代理凭据提示,但这不起作用。我不是专家,但我认为他们通过Windows本身的不同渠道进行连接。

    此操作无需编辑 devenv.exe.config

    每次需要连接到服务器时都必须手动检查更新会很痛苦,但这是我提出的最佳解决方案,直到Microsoft通过更新或将来的版本永久修复此问题。< / p>

答案 1 :(得分:27)

情况基本上是VS未设置为通过代理来获取它尝试访问的资源(使用FTP时)。这是导致407错误的原因。我对此做了一些研究,你可以尝试一些调试方法。从根本上说,这是产品中的一个有缺陷的区域,应该在以后的版本中进行审核。

以下是一些解决方案,按照不太复杂到更复杂的顺序:

  • 如果可能,请不要将代理用于您尝试访问的指定域。
  • 正确设置代理设置Internet Explorer(即使您不使用它)会影响​​系统范围的设置。甚至可以通过Internet Explorer连接到互联网并保持连接状态,然后返回并再次尝试VS
  • devenv.exe.config添加<servicePointManager expect100Continue="false" />中,如下所示:
  • <configuration>
      <system.net>
        <settings>
          <servicePointManager expect100Continue="false" />
        </settings>
      </system.net>
    </configuration>
    

  • 添加defaultProxy设置如下:
  • <system.net>
      <defaultProxy useDefaultCredentials="true" enabled="true">
          <proxy proxyaddress="http://your.proxyserver.ip:port"/>
      </defaultProxy>
      <settings>
      ...
    

  • 或者,您可以尝试告诉它使用系统默认值(应该从Internet Explorer中提取),如下所示:

    <defaultProxy useDefaultCredentials="true" enabled="true">
        <proxy usesystemdefault="True" />
    </defaultProxy>
    

  • 有一个较旧的解决方案,涉及创建插件here
  • 希望这能为你解决。

    答案 2 :(得分:8)

    在代理后面运行Visual Studio 2012时,在Visual Studio库中检查扩展更新时收到以下错误消息:

    远程服务器返回意外响应:(417)期望失败

    环顾谷歌终于在这里找到了一个解决方案:

    Visual Studio 2012 Proxy Settings

    http://www.jlpaonline.com/?p=176

    基本上,他说修复是编辑你的devenv.exe.config文件并改变它:

    <settings>      
       <ipv6 enabled="true"/> 
    </settings>
    

    到此:

     <settings>
       <ipv6 enabled="true"/>      
       <servicePointManager expect100Continue="false"/> 
     </settings> 
    

    答案 3 :(得分:7)

    在Visual Studio 2013和Microsoft Test Manager(MTM)中为我工作的解决方案是确保devenv.exe.config和mtm.exe.config都包含此配置部分:

    <system.net>
        <settings>
            <ipv6 enabled="true"/>
            <servicePointManager expect100Continue="false"/>
        </settings>
        <defaultProxy useDefaultCredentials="true" enabled="true">
            <proxy usesystemdefault="True" />
        </defaultProxy>
    </system.net>
    

    MTM没有system.net设置,整个部分在关闭的xml标记</appSettings>之后立即添加。

    答案 4 :(得分:4)

    下载并安装Fiddler

    打开Fiddler并转到规则菜单以勾选自动验证

    现在打开visual studio并单击登录按钮。

    输入您的电子邮件和密码。

    希望它会起作用

    答案 5 :(得分:2)

    使用IDE配置:

    1. 打开Visual Studio 2012,单击文件菜单栏中的工具,然后单击选项

    2. 选项窗口中,展开源代码管理选项,点击插件选择并确保当前源控件插件设置为Visual Studio Team Foundation Server。

    3. 下一步,单击“源代码管理”下的“Visual Studio Team Foundation Server”选项,然后执行以下步骤: 选中使用代理服务器进行文件下载。 输入首选Team Foundation Server 2010代理服务器的主机名。 将端口设置为443。 选中使用SSL加密(https)进行连接

    4. 单击“确定”按钮。

    5. 使用exe.config:

      修改devenv.exe.config,其中IDE可执行文件如下:

      <system.net> 
        <defaultProxy>  
         <proxy proxyaddress=”http://proxy:3128”
           bypassonlocal=”True” autoDetect=”True” /> 
         <bypasslist> 
         <add address=”http://URL”/>  
        </bypasslist> 
       </defaultProxy> 
      

        

      在proxyaddress声明您的代理并记住bypasslist url和ip地址将被排除在代理流量之外。

           

      然后重新启动visual studio以更新更改。

    答案 6 :(得分:2)

    这有助于我的情况:

    1. 关闭VS实例
    2. 打开控制面板\用户帐户\凭据管理器
    3. 从保险库中删除TFS相关凭据
    4. 这只是一个黑客攻击。你需要定期做...: - (

      致以最诚挚的问候,

      亚历山大

    答案 7 :(得分:2)

    我得到了#34;身份验证要求&#34;单击[Sync]按钮(使用MS Git Provider)时出现错误(407),这对我有用(VS 2013):

    .. \ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config

      <system.net>
        <defaultProxy useDefaultCredentials="true" enabled="true">
          <proxy proxyaddress="http://username:password@proxyip:port" />
        </defaultProxy>
        <settings>
          <ipv6 enabled="false"/>
          <servicePointManager expect100Continue="false"/>
        </settings>
      </system.net>
    

    我认为对我来说,神奇的是设置&#39; ipv6&#39;到&#39;假&#39; - 不确定原因(在我的情况下可能只支持IPv4)。我尝试了如上所示的其他方法,但我移动了&#34;设置&#34;部分AFTER&#34; defaultProxy&#34;,并更改&#34; ipv6&#34;,它与我添加的登录完美配合(在我发布的所有其他答案中尝试的其他方式对我来说都失败了。)

    编辑:刚刚找到另一种解决方法(不更改配置文件)。出于某种原因,如果我禁用Windows代理(在我的情况下它是PAC文件的URL),请再试一次(它将失败),并重新启用代理,它可以工作。似乎在我执行此操作时在内部缓存某些内容(至少在我的情况下)。

    答案 8 :(得分:1)

    我试图将Visual Studio 2013连接到Visual Studio Team Services,并且在公司代理之后。我通过添加:

    使VS使用默认代理设置(在IE的连接设置中指定)

    <system.net> <defaultProxy useDefaultCredentials="true" enabled="true"> <proxy usesystemdefault="True" /> </defaultProxy> <settings> <ipv6 enabled="true"/> </settings> </system.net>

    到.. \ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config(以管理员身份运行记事本并从那里打开文件)

    答案 9 :(得分:0)

    我的Visual Studio Team Services帐户(以前称为Visual Studio Online,Team Foundation Service)遇到了同样的错误。

    我只是使用VS 2013“连接到Team Foundation Server”窗口输入凭据,然后将其连接到Visual Studio Team Services Team Project。它以这种方式工作。

    答案 10 :(得分:0)

    我的情况是使用两个因素身份验证,Outlook帐户和VS12。

    我发现我必须

    • 打开IE(我的公司默认浏览器)
    • 登录visual studio在线帐户(包括两个身份验证)
    • 再次在VS12中连接(由于某种原因再次执行身份验证)

    答案 11 :(得分:0)

    我遇到了同样的问题,所发布的解决方案都没有奏效。对我来说,解决方案是:

    • 打开Internet Explorer&gt;工具&gt;互联网选项
    • 点击连接&gt;局域网设置
    • Untick&#39;自动检测设置&#39;和&#39;使用自动配置脚本&#39;

    这阻止了代理的使用,然后我可以毫无问题地进行身份验证。

    答案 12 :(得分:0)

    在连接到公司VPN时运行dotnet publish时出现此错误。一旦我断开与VPN的连接,它就会起作用。