Asp.net 移动到App_GlobalResources

Asp.net 移动到App_GlobalResources,asp.net,localization,resources,Asp.net,Localization,Resources,我工作的商店基本上有开发人员创建控件和后端平台,生产商为每个客户设计和定制网站 我们目前正在使用App\u LocalResources文件夹中的resx文件在我们的许多控件中公开副本。问题是,当我们的控件分布在一个嵌套很深的文件夹树中时,生产者很难为特定字符串找到正确的resx,而他们并不真正理解 我们希望将所有内容放在一个地方,App\u GlobalResources似乎是一个很好的解决方案(我们不介意为资源字符串采用命名约定以避免冲突),但是,将文件从App\u LocalResourc

我工作的商店基本上有开发人员创建控件和后端平台,生产商为每个客户设计和定制网站

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

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


知道为什么会发生这种情况吗?还有其他解决问题的建议吗?

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

编辑:根据下面的评论,考虑到您正在使用隐式本地化,正确的答案是隐式本地化需要本地资源


作为替代方案,我将尝试使用自定义资源提供程序而不是默认资源提供程序,并使CreateLocalResourceProvider()返回与CreateGlobalResourceProvider()方法相同的结果:GlobalResXResourceProvider实例(或任何适合您需要的其他实例).

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

获取全球资源

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

哦。那就是问题所在。隐式本地化需要本地资源(请参阅)。您必须切换到显式本地化。