为什么系统会在此Msg.Culture = new CultureInfo("zh-HK");
行给出错误?
Msg是一个resx(资源)文件。
这是一个控制台程序,.Net 3.5,c#。
我在自己的电脑上测试过,没问题。当我使用catch部署到客户端PC时,它只会给我错误,它只会在读取outlook中的某些电子邮件时给出错误,其他电子邮件没有问题。
错误是:
System.NullReferenceException:未将对象引用设置为对象的实例。
if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["cultureInfo"].ToString()))
{
if (null != System.Threading.Thread.CurrentThread.CurrentUICulture)
{
object test = new CultureInfo("zh-HK");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-HK");
}
else if (null != Msg.Culture)
{
object test = new CultureInfo("zh-HK");
Msg.Culture = new CultureInfo("zh-HK");
}
}
我可以使用Assembly.GetExecutingAssembly().GetManifestResourceNames()
找到资源文件名。
答案 0 :(得分:0)
找到原因,代码系统上方某些地方无法从数据库获取数据并且没有报告错误,然后报告错误Msg.Culture = new CultureInfo("zh-HK");
。