title: HttpClient request throws IOException
body: <p>The following code throws a IOException with the message: "The specified registry key does not exist."</p>
  
  <pre><code>HttpClient client = new HttpClient();
  
  Uri uri = new Uri("http://www.google.com");
  
  client.GetAsync(uri);
  </code></pre>
  
  <p>This is just in a console app in Main. It looks like the error is being thrown by   mscorlib.dll!Microsoft.Win32.RegistryKey.Win32Error(int errorCode, string str). I have no idea why this error is being thrown or how to start debugging it.</p>
  
  <p>Edit stack trace:</p>
  
  <p>at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)</p>
  
  <p>It's just 1 line and there is no inner exxception etc..</p>
  
  <p>The call stack is:</p>
  
  <pre><code>mscorlib.dll!Microsoft.Win32.RegistryKey.Win32Error(int errorCode, string str) + 0x189 bytes    
  mscorlib.dll!Microsoft.Win32.RegistryKey.GetValueKind(string name) + 0x7f bytes 
  System.dll!System.Net.HybridWebProxyFinder.InitializeFallbackSettings() + 0x9e bytes    
  [Native to Managed Transition]  
  [Managed to Native Transition]  
  System.dll!System.Net.AutoWebProxyScriptEngine.AutoWebProxyScriptEngine(System.Net.WebProxy proxy, bool useRegistry) + 0xd0 bytes   
  System.dll!System.Net.WebProxy.UnsafeUpdateFromRegistry() + 0x2c bytes  
  System.dll!System.Net.Configuration.DefaultProxySectionInternal.DefaultProxySectionInternal(System.Net.Configuration.DefaultProxySection section) + 0x1d8 bytes 
  System.dll!System.Net.Configuration.DefaultProxySectionInternal.GetSection() + 0xec bytes   
  System.dll!System.Net.WebRequest.InternalDefaultWebProxy.get() + 0xcc bytes 
  System.dll!System.Net.HttpWebRequest.HttpWebRequest(System.Uri uri, System.Net.ServicePoint servicePoint) + 0xdf bytes  
  System.dll!System.Net.HttpWebRequest.HttpWebRequest(System.Uri uri, bool returnResponseOnFailureStatusCode, string connectionGroupName, System.Action&lt;System.IO.Stream&gt; resendRequestContent) + 0x2b bytes  
  System.Net.Http.dll!System.Net.Http.HttpClientHandler.CreateAndPrepareWebRequest(System.Net.Http.HttpRequestMessage request) + 0x59 bytes   
  System.Net.Http.dll!System.Net.Http.HttpClientHandler.SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) + 0xf4 bytes  
  System.Net.Http.dll!System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) + 0x4f bytes 
  System.Net.Http.dll!System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken) + 0x13e bytes 
  System.Net.Http.dll!System.Net.Http.HttpClient.GetAsync(System.Uri requestUri, System.Net.Http.HttpCompletionOption completionOption) + 0xc bytes   
  
  ConsoleServiceTest.exe!ConsoleServiceTest.Program.Main(string[] args) Line 20 + 0x17 bytes  C#
      [Native to Managed Transition]  
      [Managed to Native Transition]  
      Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() + 0x5a bytes  
      mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) + 0x285 bytes 
      mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) + 0x9 bytes   
      mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x57 bytes    
      mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x51 bytes   
      [Native to Managed Transition]  
  </code></pre>