39

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

在此处输入图像描述

当我启动它时,集成浏览器工作正常。它要求我提供代理登录凭据,一旦输入,我就走了。所以这里发生了一些不同的连接方法。

我还导航到了 TFS 服务器,在我的项目中,我单击了 Open new instance of Visual Studio。新实例失败并在输出中显示以下消息:

HTTP code 407: Proxy Authentication Required

我已经尝试了我在另一篇文章中找到的所有内容,但均无济于事。我已经对devev.exe.config进行了每次编辑和组合编辑,但没有成功。

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

任何人都可以解释一下吗?请?

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

4

13 回答 13

86

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

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

我受到启发去检查 TFS 服务器连接,以防万一提示可能会为 TFS 服务器建立连接以通过隧道......你瞧!有效!

解决方法:

  1. 打开工具>扩展和更新
  2. 单击左侧菜单中的更新...
  3. 屏幕上将显示失败通知和输入凭据的链接。单击它并输入它们。
  4. 关闭扩展管理器。
  5. 单击团队>连接到 TFS 服务器...
  6. 输入地址,它会工作!

注意:有些人建议通过打开集成浏览器尝试使用代理凭据提示,但这没有奏效。我不是专家,但我认为他们通过 Windows 本身内的不同渠道进行连接。

无需编辑devenv.exe.config即可运行。

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

于 2012-12-07T19:42:50.457 回答
28

这种情况本质上VS是没有设置为通过代理来获取它试图获取的资源(使用 FTP 时)。这是您收到407错误的原因。我对此进行了一些研究,您可以尝试一些事情来调试它。从根本上说,这是产品中的一个有缺陷的区域,应该在以后的版本中进行审查。

以下是一些解决方案,按从简单到复杂的顺序排列:

  • 如果可能,请不要为您尝试访问的指定域使用代理。
  • 正确设置您的代理设置 Internet Explorer(即使您不使用它),因为这会影响系统范围的设置。甚至可以使用 Internet Explorer 连接到 Internet 并保持连接,然后返回并从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>
    

  • 有一个较旧的解决方案涉及在此处创建插件
  • 希望这可以为您解决。

    于 2012-12-06T02:28:01.143 回答
    8

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

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

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

    Visual Studio 2012 代理设置

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

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

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

    对此:

     <settings>
       <ipv6 enabled="true"/>      
       <servicePointManager expect100Continue="false"/> 
     </settings> 
    
    于 2013-04-08T18:47:56.997 回答
    7

    在 Visual Studio 2013 和 Microsoft 测试管理器 (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>

    于 2014-03-31T18:50:55.643 回答
    6

    下载并安装 Fiddler

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

    现在打开 Visual Studio 并单击登录按钮。

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

    希望它会奏效

    于 2017-04-13T14:33:49.723 回答
    3

    单击 [Sync] 按钮(使用 MS Git 提供程序)时,我收到“需要身份验证”(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>
    

    我认为对我来说神奇的是将“ipv6”设置为“假”——不知道为什么(在我的情况下可能只支持 IPv4)。我尝试了如上所示的其他方式,但是我在“defaultProxy”之后移动了“设置”部分,并更改了“ipv6”,并且它与我添加的登录完美配合(我在发布的所有其他答案中尝试的所有其他方式对我来说都失败了)。

    编辑:刚刚找到另一个解决方法(不更改配置文件)。出于某种原因,如果我禁用 Windows 代理(在我的情况下它是 PAC 文件的 URL),再试一次(它会失败),然后重新启用代理,它就可以工作了。似乎在内部缓存了一些东西,当我这样做时会被重置(至少在我的情况下)。

    于 2014-09-03T19:00:33.320 回答
    3

    这对我有帮助:

    1. 关闭 VS 实例
    2. 打开控制面板\用户帐户\凭据管理器
    3. 从保管库中删除与 TFS 相关的凭据

    这只是一个黑客。你需要定期做...... :-(

    此致,

    亚历山大

    于 2013-09-20T05:24:07.687 回答
    3

    使用 IDE 配置:

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

    2. Options窗口中,展开Source Control选项,单击Plug-in Selection并确保 Current source control 插件设置为 Visual Studio Team Foundation Server。

    3. 接下来,单击 Source Control 下的 Visual Studio Team Foundation Server 选项并执行以下步骤:选中Use proxy server for file downloads。输入首选 Team Foundation Server 2010 代理服务器的主机名。将端口设置为 443。选中使用 SSL 加密 (https) 连接

    4. 单击确定按钮。

    使用 exe.config:

    修改 IDE 可执行文件所在的 devenv.exe.config 如下:

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

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

    然后重新启动 Visual Studio 以更新更改。

    于 2012-12-05T07:00:46.710 回答
    2

    我试图将 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 (以管理员身份运行记事本并从那里打开文件)

    于 2014-07-01T09:51:17.223 回答
    0

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

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

    于 2014-01-01T11:09:02.863 回答
    0

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

    我发现我必须

    • 打开 IE(我的公司默认浏览器)
    • 登录visual studio在线账号(包括两因素认证)
    • 在 VS12 中再次连接(由于某种原因再次进行身份验证)
    于 2015-04-24T07:56:38.617 回答
    0

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

    • 打开 Internet Explorer > 工具 > Internet 选项
    • 单击连接 > LAN 设置
    • 取消勾选“自动检测设置”和“使用自动配置脚本”

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

    于 2015-07-09T08:33:10.510 回答
    0

    dotnet publish在连接到公司 VPN时运行时出现此错误。一旦我从 VPN 断开连接,它就可以工作了。

    于 2020-06-08T15:08:21.233 回答