MVC 2 - 嵌入式资源是否需要Satellite组件?嵌入式资源不起作用

时间:2012-08-24 21:40:10

标签: asp.net-mvc-2 localization wix wix3.5 satellite-assembly

您好我一直在研究MVC 2.0 Web应用程序。 这需要在两种语言之间切换。

现有的解决方案效果不佳,因为MVC [DisplayName]属性和数据注释错误消息等不起作用,因为它们在MVC 2.0中没有文化感知。

我按照这里的例子: http://adamyan.blogspot.co.uk/2010/02/aspnet-mvc-2-localization-complete.html#!/2010/02/aspnet-mvc-2-localization-complete.html

通过一些调整,它在我的Visual Studio环境中完美运行并切换语言并使用MVC diplay名称等现在很好。 我正在使用嵌入式资源并具有英语resx文件(例如MyPage.resx)和文化版本(例如MyPage.cy-GB.resx)。

问题是当我将其安装到生产环境中时,它不会切换语言。 我感到困惑,因为我认为这些嵌入式资源将成为主要Web应用程序DLL的一部分,所以它应该没有找到匹配的资源吗?

我知道它肯定会改变当前线程的文化。它只是没有加载匹配的资源。

使用WIX安装应用程序而不收获但我已经包含了所有文件(aspx等)。以前它使用附属程序集并在bin文件夹中使用文化名称创建资源dll。我删除了这个,因为我只是使用上面提到的嵌入式资源。卫星组件是否需要这个?我很高兴他们被嵌入。

我真的很困惑如何解决这个问题,所以任何建议都会非常受欢迎。

由于

1 个答案:

答案 0 :(得分:0)

MyPage.cy-GB.resx嵌入在附属程序集中。事实上,嵌入式资源是附属于卫星组件的必要资源。