【发布时间】:2013-07-17 22:39:48
【问题描述】:
我在 Windows Server 2003 R2 上运行了一个 Windows 服务(C#,.NET2.0)。在一台服务器中,System.Threading.Thread.CurrentThread.CurrentCulture 是 {en-AU},而在另一台服务器中是 {en-US}。
这导致在 DateTime 对象上调用 ToString() 时出现差异。我希望文化是 {en-AU}。
我检查了“区域和语言设置”。在两台服务器中,“区域选项”选项卡均显示“英语(澳大利亚)”。但在“高级”选项卡中,一个显示“英语(美国)”,另一个显示“英语(澳大利亚)”。所以这一定是造成差异的原因。虽然我想知道为什么“高级”选项卡上写着“您要使用的非 unicode 程序的语言版本”,但我认为 .NET 进程是 Unicode,不应受此影响。
.NET 运行时如何确定要使用的文化?任何详细的参考资料都会有所帮助。
【问题讨论】: