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

发布于 2024-12-22 15:30:56 字数 658 浏览 2 评论 0原文

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

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

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

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

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

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

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

I have a library loading the resources from an external file as follows:

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

Now I'd like to change the loading from external file to an embedded resource. I've attached a ".resources" file to the project, and changed its build action to "Embedded Resource". Loading it as follows:

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

This compiles fine. However, at runtime the application reports the following error:

Could not find any resources appropriate for the specified culture or
the neutral culture. Make sure "Strings.3.resources" was correctly
embedded or linked into assembly "TestApp.Resources" at compile time,
or that all the satellite assemblies required are loadable and fully
signed.

This happens regardless of the name I pass, so my question is how to find the correct base name for the resource file I just embedded?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

表情可笑 2024-12-29 15:30:56

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

您可以使用 dotPeek 等反汇编器/反编译器来确认这一点: http://www.jetbrains.com/decompiler/< /a>

I believe the resource name is fully qualified, so it would be {assemblyNameSpace}.Strings.3.resources.

You can confirm this by using a disassembler/decompiler like dotPeek: http://www.jetbrains.com/decompiler/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文