【问题标题】:ResourceManager.GetResourceSet additional namespace suffix .resourcesResourceManager.GetResourceSet 附加命名空间后缀 .resources
【发布时间】: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 本地化技术,当您的本地化服务因为不标准而出错时,您很可能会遇到更多麻烦。

标签: c# .net resources


【解决方案1】:

也许它不能完全回答我的问题,但它是一种替代解决方案:

Type.GetType("B2B.Portal.Resources.View." + viewType + "." + viewType).GetProperty(col.Name).GetValue(null, null).ToString()

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 2021-07-02
    • 2012-10-22
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    相关资源
    最近更新 更多