title: CurrentCulture incorrectly defaulting to en-US in ASP.net
body: <p>I have just migrated around 100 ASP.net sites from IIS 6 on Windows Sever 2003 to IIS 7 on Windows 2008. I've just noticed that various pieces of code that use things like DateTime.Parse have started kicking up errors "String was not recognized as a valid DateTime". I've tracked this down to the fact that the CurrentCulture of the sites is defaulting to 'en-US' and so my UK users are inputting dates in an unexpected format.</p>
  
  <p>Question is, where are they getting en-US from? Starting from the top, if I look in 'Control Panel > Region and Language' everything is set to English (United Kingdom). The web.configs of the sites either don't have a &lt;globalization&gt; section or have it set as &lt;globalization culture="auto" uiCulture="auto" /&gt;. In 'IIS7 - .Net Globalization' all of the sites have their culture set to 'Invariant Language (Invariant Country)'.</p>
  
  <p>I can't find anywhere that's settings the culture to 'en-US'... but something is.</p>
  
  <pre><code>Thread.CurrentThread.CurrentCulture.Name is outputting 'en-US'
  Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol is outputting '$'
  </code></pre>
  
  <p>I can fix the issue by adding &lt;globalization culture="en-GB" uiCulture="en-GB" /&gt; to every web.config BUT I really don't want to have to hand edit about 100 web.configs! I wan't it to inherit the culture from the server OS settings, which are set to en-GB.</p>
  
  <p>Am I missing something?</p>