如何解决这个例外"文化不受支持"?

时间:2017-03-02 11:59:56

标签: asp.net culture

当我在服务器上的IIS上传我的ASP.Net站点时,它会抛出以下错误

错误

  

不支持文化。       参数名称:名称       en-SA是无效的文化标识符。       异常详细信息:System.Globalization.CultureNotFoundException:不支持Culture。       参数名称:名称       en-SA是无效的文化标识符。

来源错误:

  

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

  

[CultureNotFoundException:不支持文化。       参数名称:名称       en-SA是无效的文化标识符。]       System.Globalization.CultureInfo.GetCultureInfo(String name)+14364298       WebApplication3.UserHomePage.getHourChart1001()+369       版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34209`

关于这个问题,我在堆栈上看到了很多关于流量的页面。 其中一些建议删除此位置的文件

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files

临时ASP.NET文件中没有文件或文件夹。

问题是什么?

4 个答案:

答案 0 :(得分:1)

我也遇到了问题,在Windows 10上,经过一些搜索,我找到了解决方案here

.Net框架中的某些似乎试图解析您当前设置的UI文化。如果UI语言的设置与键盘不同,这似乎会导致窗口组成自己的文化字符串,格式为“界面语言 - 键盘语言”。我对“en-be”也有同样的问题。

解决方案是将您的区域设置为.Net框架在较旧的Win7样式区域设置屏幕中识别的内容。通过开始菜单搜索“区域”应该可以到达那里。

在该屏幕中,选择有效的现有区域,然后根据需要调整详细日期/时间格式设置。它不应该影响实际的语言或键盘设置,它应该解决问题。

答案 1 :(得分:0)

如果您查看list of defined locales,则en-SA未在此处列出。只是一个无效的区域设置!在aspx中,它可能看起来像:

<%@ Page Culture="en-SA" %>

搜索您使用en-SA的项目,并更正此问题。

文化设置有什么作用?

The manual says:

  

此属性及其返回的CultureInfo对象   关联对象确定日期,时间的默认格式,   数字,货币值,文本的排序顺序,套管   约定和字符串比较。

因此,如果你想要一个埃及语言环境(意思是埃及数字,货币值和排序),你可以使用ar-EG

答案 2 :(得分:0)

我在Windows 10专业版安装中遇到了同样的问题。 原来,“区域格式”设置已默认设置为我的国家/地区;英语(乌干达)。

要在Windows 10中解决此问题,请转到; 区域->区域格式->英文(美国)

答案 3 :(得分:0)

实际上,没有问题,Windows 10增强了5个月前的新文化=“英语(欧洲)”,语言环境ID =“ 3072”,因此,如果默认情况下将区域设置配置为此您可能会遇到Internet信息服务,SQL Server,SQL Server Management Studio,SDK等尚不支持这种文化的问题。

要解决此问题,请导航至:

控制面板->区域->区域格式->英文(美国)