ResourceManager - 如何为嵌入式资源文件查找所需的基本名称?

时间:2011-12-22 15:22:13

标签: c# .net resources resourcemanager

我有一个库从外部文件加载资源,如下所示:

ResourceManager rm = ResourceManager.CreateFileBasedResourceManager(stringsFileName, ResourcesDir, null)

现在我想将外部文件的加载更改为嵌入式资源。我已经将“.resources”文件附加到项目中,并将其构建操作更改为“Embedded Resource”。加载如下:

   System.Resources.ResourceManager myManager = new
                   System.Resources.ResourceManager(resName,
                   myAssembly); 

编译好。但是,在运行时,应用程序报告以下错误:

  

无法找到适合指定文化的任何资源或   中性文化。确保“Strings.3.resources”正确无误   在编译时嵌入或链接到程序集“TestApp.Resources”,   或者所需的所有卫星组件都是可装载的并且完全可装载   签名。

无论我传递的名称如何,都会发生这种情况,所以我的问题是如何为刚刚嵌入的资源文件找到正确的基本名称?

1 个答案:

答案 0 :(得分:2)

我认为资源名称是完全限定的,因此它将是{assemblyNameSpace} .Strings.3.resources。

您可以使用像dotPeek这样的反汇编程序/反编译器来确认这一点:http://www.jetbrains.com/decompiler/