【发布时间】:2014-07-31 10:53:17
【问题描述】:
我正在尝试通过资源文件名和密钥获取资源:
ResourceManager rm = new ResourceManager("B2B.Portal.Resources.Views." + viewType, Assembly.GetExecutingAssembly());
var res = rm.GetResourceSet(CultureInfo.CurrentCulture, true, true);
我收到此错误:
找不到任何适合指定文化的资源或 中立文化。确保 “B2B.Portal.Resources.Views.CustomerPurchaseOrders.resource”原为 在编译时正确嵌入或链接到程序集“B2B.Portal”中 时间,或者所需的所有附属程序集都是可加载的,并且 完全签名。
我怎样才能让它停止添加“.resources”后缀或者这不是问题?
编辑: 忘了说:这些是手动添加的本地化资源
【问题讨论】:
-
该后缀始终存在,由 Resgen.exe 生成。你猜错了名字,一个很常见的问题,也是微软添加资源设计器的核心原因。我们也猜不到,使用
ildasm.exe并查看清单。您将在 .resource 指令之一中看到正确的名称。如果您“手动”添加资源,那么您根本找不到它的非零几率。使用标准的 .NET 本地化技术,当您的本地化服务因为不标准而出错时,您很可能会遇到更多麻烦。