我有一个非常奇怪的问题与基于resx的本地化。首先,请让我解释一下,现在是如何为我完成的。
这是ASP.NET MVC项目。我有两个程序集:web和域。 Web包含所有与MVC相关的东西,以及域,以及contans域类。另外,在域名汇编中,我存储了很多用于本地化的静态资源(我用三种不同的语言编写站点)。本地化使用资源文件
所以我在这个领域组装本地化文件夹,有喜欢的文件:
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
在我的意见,只是输出本地化字符串之前。
它给了我选择的文化,这是正确的,但字符串呈现为一个后备值,而不是本地化。
我真的坚持在这里,希望任何人有一个线索是怎么回事...
1.它怎么会没有被发现? 2.不,我没有部署到gac 3.从来没有听说过fuslogvw,谢谢你的提示! – user231481 2010-01-02 18:47:34
我已经设置LogResourceBinds为1像你说的那样,之后fuslogvw显示了一些绑定日志,但没有具体到我的应用程序。而我的域名程序集中的其他内容也能够正常工作,所以我想不出任何嵌入式资源无法加载的原因。 真正让我感到震惊的是它在本地机器上运行,并且不在服务器上运行。 – user231481 2010-01-03 11:47:26
我发现,像往常一样,这是我的错误。我们使用svn/export来部署网站,并且svn没有看到新生成的sattelite程序集。所以IIS只加载了没有卫星的域dll。 – user231481 2010-01-10 12:10:08