来自外部程序集的ASP.NET资源始终采用后备语言

时间:2010-05-05 11:29:31

标签: .net asp.net localization

我有一个单独的项目,其中.resx文件被编译成一个独立的DLL程序集,SomeNamespace.Localization。

在另一个也被有问题的ASP.NET网站使用的程序集中,我引用了一些资源:

htmlControl.InnerText = SomeNamespace.Localization.ErrorMessages.PleaseFillDate

在相关页面上,有一个InitilizeCulture()方法:

Protected Overrides Sub InitializeCulture()
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR", False)
    Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR", False)

    Page.Culture = "fr-FR"
    Page.UICulture = "fr-FR"
End Sub

当我将文化改变为其他文化时,一切都在当地工作得很好。但是在服务器上,字符串始终采用后备语言。我也尝试在web.config文件中设置应用程序文化,但没有成功。

当我在引用外部资源的行之前输出UICulture时,它会显示正确的语言:

HttpContext.Current.Trace.Write(Thread.CurrentThread.CurrentUICulture.Name) ' fr-FR

请帮助我,如何在使用外部程序集中的资源时设置文化?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您是否已将位于“fr-FR”文件夹中的本地化资源DLL复制到服务器? (他们的名字以.resources.dll结尾)?