2014-07-23 28 views
1

我在获取“Missing manifest”错误时动态获取资源时遇到了一些麻烦。我查了一些可能的原因,做了写在那里的东西,但到目前为止没有任何工作。尝试通过资源管理器检索资源时丢失清单错误

目前我有这样的情况: 我试图访问的RESX文件是:“资源/ 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”也明确地尝试访问正确的名称)。

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

回答

3

发现问题。对于新的ResourceManager,不仅必须给出资源文件的命名空间,而且还需要默认的命名空间。因此,如果应用程序的默认命名空间:MyApplication.MyServerApp然后代替“Resources.Messages”的一个必须投入:“MyApplication.MyServerApp.Resources.Messages”导致以下运行源代码:

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