How to configure invariant culture in ASP.NET globalization?

Either add the following to your web.config file:

<system.web>
    <globalization culture="en-US" uiCulture="en-US" />
</system.web>

or you can add this statement on the page:

<%@ Page uiCulture="en-US" culture="en-US" %>

Hope this helps.


According to the CultureInfo class documentation, an empty string specifies InvariantCulture.

Edit (tested on .NET 3.5 sp1)
By default, Culture and UICulture are set to "" in the web.config. I guess .Net just does its own thing though, and sets them to "en-US" at run time, even though the documentation says that "en" is the invariant culture, not "en-US".

The @Page directive could be interfering with you. If you used the "Generate Local Resources" tool of the page designer, it automatically adds culture="auto" uiculture="auto" to your page directive, which overrides the web.config. If you just delete those and someone uses that tool later, whammo, they come back, set to auto, bugging up your application. If you try to set them to "", you get an error.

Try setting both the web.config and page directive to this and hope for the best?

culture="en-US" uiCulture="en"