【问题标题】:Missing manifest error when trying to retrieve resource via resource manager尝试通过资源管理器检索资源时缺少清单错误
【发布时间】:2014-07-23 19:28:18
【问题描述】:

我在动态获取资源时遇到了一些麻烦,因为我收到了“缺少清单”错误。我查找了一些可能的原因并做了那里写的,但到目前为止没有任何效果。

目前我有这种情况: 我尝试访问的 resx 文件是:“Resources/Messages.resx”(因此位于非标准文件夹中。

我使用的代码是这样的:

ResourceManager resourceManager = new ResourceManager("Resources.Messages", this.GetType().Assembly);
resourceManager.GetString("ResourceText" + MessageType + "Subject")

messageType 是一个字符串。在第二行我收到错误消息。

资源文件的状态是这样的:

  • 构建 Aciton:嵌入式资源
  • 自定义工具:PublicResXFileCodeGenerator
  • 访问修饰符公共

resfile 有 2 个变体:Messages.res 和 Messages.de.resx,每行具有相同的名称和相同的常规属性(“GetString”也明确地尝试访问正确的名称)。

所以我的问题是我在那里做错了什么,我能做些什么来纠正这个问题?

【问题讨论】:

    标签: c# embedded-resource


    【解决方案1】:

    发现问题。对于新的 ResourceManager,不仅需要提供资源文件的命名空间,还需要提供默认命名空间。因此,如果应用程序的默认命名空间为:MyApplication.MyServerApp,则必须放入“MyApplication.MyServerApp.Resources.Messages”而不是“Resources.Messages”,从而导致以下功能源代码:

    ResourceManager resourceManager = new ResourceManager("MyApplication.MyServerApp.Resources.Messages", this.GetType().Assembly);
    resourceManager.GetString("ResourceText" + MessageType + "Subject")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多