转移到App_GlobalResources

时间:2009-11-06 19:29:04

标签: asp.net localization resources

我工作的商店基本上都有开发人员创建控件和后端平台,以及生产者为每个客户提供皮肤和定制网站。

我们目前正在App_LocalResources文件夹中使用resx文件来公开我们的许多控件中的副本。问题是,当我们的控件分布在一个他们并不真正理解的深度嵌套的文件夹树中时,生产者很难找到特定字符串的正确resx。

我们希望将所有内容放在一个位置,App_GlobalResources似乎是一个很好的解决方案(我们不介意采用资源字符串的命名约定来避免冲突)但是,从{{1移动文件文件夹到App_LocalResources似乎不起作用(只是抛出资源未找到异常)

知道为什么会这样吗?还有其他解决问题的建议吗?

2 个答案:

答案 0 :(得分:1)

也许代码调用GetLocalResourceObject()而不是GetGlobalResourceObject()?

编辑:根据以下评论并假设您使用隐式本地化,正确的答案是隐式本地化需要本地资源。

至于替代方案,我会尝试使用自定义资源提供程序而不是默认值,并使 CreateLocalResourceProvider()返回与 CreateGlobalResourceProvider()方法相同的方法: GlobalResXResourceProvider 实例(或其他任何符合您需求的实例)。

答案 1 :(得分:1)

获取本地资源和全局资源是有区别的,如果您尝试将本地化资源放入全局资源,那么您还需要更改代码以访问资源,如...

访问全球资源

Text="<%$ Resources:GlobalRes, YourKey %>"

访问本地资源

meta:resourcekey="YourKey"