我的网络配置中有这个设置:
<globalization culture="auto" uiCulture="auto"/>
代码在VS 2010中编译。
如果目标平台设置为.NET 2.0或3.0,则它仅适用于IE,我在Chrome上出现此错误
“文化'es'是一种中性文化。它不能用于格式化 和解析,因此不能设置为线程的当前 培养物“。
如果目标平台是.NET 4.0,它适用于IE和Chrome。
这是ASP.NET 2.0 / 3.0中的错误吗?它有解决方法吗?
答案 0 :(得分:0)
听起来它可能是一个错误。你可以发布堆栈跟踪吗?
您也可以尝试使用Fiddler等工具查看两个浏览器发送的Accept-Language标头,以了解它们之间的区别。
请注意,使用IE,您可以控制Accept-Language标头中发送的内容。只需打开IE,然后在工具/ Internet选项/常规中,单击语言按钮。点击添加,例如添加自定义语言“es”,并将其移至列表顶部。
<强>更新强>
听起来与the problem described in this StackOverflow question类似。
该问题中的堆栈跟踪显示在Page.Culture属性设置器中抛出了异常。我会说这是一个bug;并且可能已在最新版本的Framework中修复(我无法使用.NET 3.5和最新的Service Pack重现它。)
答案 1 :(得分:0)
使用CultureInfo.CreateSpecificCulture结束。它大部分时间都有效。
.NET 4允许设置中性文化以进行格式化。它选择了该语言人口最多的文化,这就是我所听到的。