Resx文化是空的吗?

时间:2017-08-04 09:43:38

标签: c# console .net-3.5

为什么系统会在此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()找到资源文件名。

1 个答案:

答案 0 :(得分:0)

找到原因,代码系统上方某些地方无法从数据库获取数据并且没有报告错误,然后报告错误Msg.Culture = new CultureInfo("zh-HK");