[visual-studio] Visual Studio Error: (407: Proxy Authentication Required)

I am behind a corporate proxy server which requires credentials. I have been trying to connect to a TFS server (on tfspreview.com) with MS Visual Studio Pro 2012 for the last 2 hours with no success. Every attempt has been met with this error:

enter image description here

The integrated browser works fine when I initiate it. It asks me for my proxy login credentials and once entered, off I go. So there is some different method of connection happening here.

I have also navigated to the TFS server, and once in my project I clicked Open new instance of Visual Studio. The new instance fails with this message in the output:

HTTP code 407: Proxy Authentication Required

I have tried everything that I found on another post to no avail. I have made every edit and combination edits to devev.exe.config that I have found with no success.

Could it be that the 2010 version is somehow different than the 2012 Pro edition? I am running Windows 7.

Can anyone shed some light? Please?

Note: This problem also applies to Visual Studio 2013

This question is related to visual-studio proxy proxy-authentication

The answer is


I faced the same error with my Visual Studio Team Services account (formerly Visual Studio Online, Team Foundation Service).

I simply entered the credentials using the VS 2013 "Connect to Team Foundation Server" Window, and then connected it to the Visual Studio Team Services Team Project. It worked this way.


Download and install Fiddler

Open Fiddler and go to Rule menu to tick Automatically authenticate

Now open visual studio and click on sign-in button.

Enter your email and password.

Hopefully it will work


I got this error when running dotnet publish while connected to the company VPN. Once I disconnected from the VPN, it worked.


I was having the same problem, and none of the posted solutions worked. For me the solution was:

  • Open Internet Explorer > Tools > Internet Options
  • Click Connections > LAN settings
  • Untick 'automatically detect settings' and 'use automatic configuration script'

This prevented the proxy being used, and I could then authenticate without problem.


While running Visual Studio 2012 behind a proxy, I received the following error message when checking for extension updates in the Visual Studio Gallery:

The remote server returned an unexpected response: (417) Expectation failed

A look around Google finally revealed a solution here:

Visual Studio 2012 Proxy Settings

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

Basically, he's saying the fix is to edit your devenv.exe.config file and change this:

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

to this:

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

The situation is essentially that VS is not set up to go through a proxy to get to the resources it's trying to get to (when using FTP). This is the cause of the 407 error you're getting. I did some research on this and there are a few things that you can try to get this debugged. Fundamentally this is a bit of a flawed area in the product that is supposed to be reviewed in a later release.

Here are some solutions, in order of less complex to more complex:

  • If possible don't use the proxy for the specified domains that you're trying to get to.
  • Set up your proxy settings correctly Internet Explorer (even if you don't use it) as that affects system wide settings. Even go so far as to connect to the internet with internet explorer and leave it connected then go back and try again from VS.
  • In the devenv.exe.config add <servicePointManager expect100Continue="false" /> as laid out below:
  • <configuration>
      <system.net>
        <settings>
          <servicePointManager expect100Continue="false" />
        </settings>
      </system.net>
    </configuration>
    

  • Add defaultProxy settings as follows:
  • <system.net>
      <defaultProxy useDefaultCredentials="true" enabled="true">
          <proxy proxyaddress="http://your.proxyserver.ip:port"/>
      </defaultProxy>
      <settings>
      ...
    

  • Alternately you could try telling it to use system default (which should pull from internet explorer) like so:

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

  • There is an older solution involving creating a plugin here
  • Hope this solves it for you.


    I was trying to connect Visual Studio 2013 to Visual Studio Team Services, and am behind a corporate proxy. I made VS use the default proxy settings (as specified in IE's connection settings) by adding:

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

    to ..\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config (running notepad as admin and opening the file from within there)


    I was getting an "authenticationrequired" (407) error when clicking the [Sync] button (using the MS Git Provider), and this worked for me (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>
    

    I think the magic for me was setting 'ipv6' to 'false' - not sure why (perhaps only IPv4 is supported in my case). I tried other ways as shown above, but I move the "settings" section AFTER "defaultProxy", and changed "ipv6", and it worked perfectly with my login added (every other way I tried in all other answers posted just failed for me).

    Edit: Just found another work around (without changing the config file). For some reason, if I disable the windows proxy (it's a URL to a PAC file in my case), try again (it will fail), and re-enable the proxy, it works. Seems to cache something internally that gets reset when I do this (at least in my case).


    My case is when using two factor auth, outlook account and VS12.

    I found out I have to

    • open IE (my corporate default browser)
    • log in to visual studio online account (including two factor auth)
    • connect again in VS12 (do the auth again for some reason)

    This helped in my case :

    1. close VS instance
    2. open Control Panel\User Accounts\Credential Manager
    3. Remove TFS related credentials from vault

    This is just a hack. You need to do it regulary ... :-(

    Best regards,

    Alexander


    Using IDE configuration:

    1. Open Visual Studio 2012, click on Tools from the file menu bar and then click Options,

    2. From the Options window, expand the Source Control option, click on Plug-in Selection and make sure that the Current source control plug-in is set to Visual Studio Team Foundation Server.

    3. Next, click on the Visual Studio Team Foundation Server option under Source Control and perform the following steps: Check Use proxy server for file downloads. Enter the host name of your preferred Team Foundation Server 2010 Proxy server. Set the port to 443. Check Use SSL encryption (https) to connect.

    4. Click the OK button.

    Using exe.config:

    Modify the devenv.exe.config where IDE executable is like this:

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

    Declare your proxy at proxyaddress and remember bypasslist urls and ip addresses will be excluded from proxy traffic.

    Then restart visual studio to update changes.


    The solution that worked for me in both Visual Studio 2013 and Microsoft Test Manager (MTM) was to ensure that both devenv.exe.config and mtm.exe.config included this configurations section:

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

    MTM did not have a system.net setting and the whole section was added immediately following the closing xml tag </appSettings>.