基于resx的本地化我有一个非常奇怪的问题 首先,让我解释一下,现在是怎么做的 它是ASP.NET MVC项目。我有两个程序集:web和域。 Web包含所有与MVC相关的东西,以及域,以及contans域类。此外,在域组装中,我存储了大量用于本地化的静态资源(我正在构建具有3种不同语言的站点)。
所以我在这个域程序集中有Localization文件夹,有以下文件:
CheckoutStrings.resx,CheckoutStrings.en-US.resx,CheckoutStrings.et-EE.resx等。
现在奇怪的是,使用VS开发服务器和IIS 7.5,这在我的本地计算机上运行得非常好。但是当我将解决方案上传到我的Web服务器(Windows Server 2008 R2)时,它也是IIS 7.5,我的本地化突然停止工作。
我试图输出
Thread.CurrentThread.CurrentUICulture
在我的视图中,就在输出本地化字符串之前 它给了我选择的文化,这是正确的,但是字符串被渲染为后备值,而不是本地化值。
我真的被困在这里,希望有人知道发生了什么......
答案 0 :(得分:3)
是不是找不到本地化文件而你又回到了“默认语言”?您是否可以在服务器上部署到GAC中,但是在dev机器上的子文件夹的/ bin文件夹中运行它? 您是否尝试过使用fuslogvw.exe来查看代码的来源?
请注意,要查看附属程序集的负载,您必须执行一些注册表“hacks” - http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx:
将绑定失败记录到卫星 组件设置
HKLM\Software\Microsoft\Fusion\LogResourceBinds
注册表值为1(值为 DWORD)。