我遇到了一些动态获取资源的麻烦,因为我收到“Missing manifest”错误。我查了几个可能的原因并做了那里写的但到目前为止没有任何效果。
目前我遇到这种情况: 我正在尝试访问的resx文件是:“Resources / Messages.resx”(因此在非标准文件夹中。
我正在使用的代码是:
ResourceManager resourceManager = new ResourceManager("Resources.Messages", this.GetType().Assembly);
resourceManager.GetString("ResourceText" + MessageType + "Subject")
messageType是一个字符串。在第二行,我收到错误消息。
资源文件的状态为:
resfile有两个变体:Messages.res和Messages.de.resx,每行具有相同的名称,并且具有相同的常规属性(“GetString”也最终尝试访问正确的名称)。
所以我的问题是我在那里做错了什么,我该怎么做才能纠正这个问题?
答案 0 :(得分: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")