【发布时间】:2014-08-20 21:24:08
【问题描述】:
Windows 8.1 专业版、Visual Studio 2013、.NET Framework 4.5.2
代码如下:
var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
Console.WriteLine("Culture count: " + cultures.Length);
这是输出:
Culture count: 2
这两种文化是在CultureData.GetCultures 方法中添加的zh-CHS 和zh-CHT。 CultureData.nativeEnumCultureNames 应该返回其他文化,但似乎返回的是一个空数组。
这种行为似乎仅限于单个工作站。我已经在其他计算机上尝试了相同的代码并且得到了正常的结果。我将如何解决这个问题?我尝试重新安装 .NET 框架,但没有成功。
编辑 1:这只影响 .NET 4/4.5。如果我的项目以 .NET 3.5 为目标,它可以工作,返回 311 种文化。
【问题讨论】:
-
MSDN 上的 note 还明确提到了 “zh-CHS 和 zh-CHT 文化”,很有趣。 msdn.microsoft.com/en-us/library/… 显然在中国电脑上不允许其他文化;)
-
是否有人在该特定工作站上删除或卸载了某些东西?这种行为并不常见。也许重新安装有问题的机器?
-
不,这是全新的安装。一周前从 Razer 买了笔记本电脑,从那以后我就一直在使用它。附带 Windows 8.1 标准,通过许可证代码升级到 Pro。安装了VS2013等。这是我第一次遇到问题。理想情况下,我宁愿不必恢复到出厂默认设置,或者更糟糕的是,应用自定义图像。
标签: .net windows cultureinfo