2010-05-05 50 views
0

我有一個單獨的項目,它將.resx文件編譯爲獨立的DLL程序集SomeNamespace.Localization。來自外部程序集的ASP.NET資源始終處於回退語言

在另一個組件,也使用有問題的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 

請大家幫幫我,我該如何使用從外部程序集資源時設置的文化?

非常感謝!

回答

0

您是否已將複製到服務器的本地化資源DLL放在「fr-FR」文件夾中? (他們的名字以.resources.dll結尾)?

+0

就是這樣。當然,我只複製了主程序集,沒有文化子目錄...非常感謝,你救了我! – michalstanko 2010-05-05 13:34:01