我有一个问题,涉及一个使用Visual studio 2005编写的c#程序集(.net 2.0),它安装在英国服务器上并应该使用英国区域设置。我的代码是将形如dd/MM/yyyy的日期转换为UTC时间,即yyyy-mm-dd。问题出现在像16/02/2010这样的日期上,在此情况下组件无法转换日期并返回“错误”。调试后,我发现System.CultureInfo返回的CultureInfo是en-US,原因非常奇怪。我可以使用以下方法通过编程更改这些设置:
但是我不想一直这样做,因为我的系统应该是英国风格,而不是美国风格。 那么,如何将 .Net 框架的默认文化设置为 en-GB 而不是 en-US?
信息如下: - 我已经尝试更新 machine.config 文件,并在全球化部分指定 culture=en-GB(它被设置为 neutral),但也不起作用[已在1.1和2.0中完成],但可能我没有正确更改它。 - 我已验证我的 Windows 区域设置,它们明确设置为带有日期的英国格式 dd/MM/yyyy。 - 我正在虚拟服务器上运行,并已验证我的主机系统。 它也是英国风格。
编辑: 关于上下文的一些额外细节。所涉及的程序集通过 COM 互操作从运行为 COM+ 应用程序的本地 C++ 第三方组件调用。
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB", false);
我的代码能正常工作。但是我不想一直这样做,因为我的系统应该是英国风格,而不是美国风格。 那么,如何将 .Net 框架的默认文化设置为 en-GB 而不是 en-US?
信息如下: - 我已经尝试更新 machine.config 文件,并在全球化部分指定 culture=en-GB(它被设置为 neutral),但也不起作用[已在1.1和2.0中完成],但可能我没有正确更改它。 - 我已验证我的 Windows 区域设置,它们明确设置为带有日期的英国格式 dd/MM/yyyy。 - 我正在虚拟服务器上运行,并已验证我的主机系统。 它也是英国风格。
编辑: 关于上下文的一些额外细节。所涉及的程序集通过 COM 互操作从运行为 COM+ 应用程序的本地 C++ 第三方组件调用。