我正在尝试在 C# 类中使用 ResourceManager,但在创建 ResourceManager 类的新实例时不知道用什么替换基名。
我有一个单独的项目,其中包含我上面的项目引用的资源文件,名称如下:
- 资源.resx
- 资源.es-ES.resx
如果我有如下代码片段,当我想使用英语或西班牙语版本的资源时,我应该用什么代替基本名称?
ResourceManager RM = new ResourceManager(basename,Assembly.GetExecutingAssembly());
我尝试了 Tom 建议的方法,但遇到了臭名昭著的错误
找不到适合指定区域性或中性区域性的任何资源。
我的解决方案有两个项目,其中项目 YeagerTech 是一个 Web 应用程序,项目 YeagerTechResources 包含所有资源。Project YeagerTech 参考了 YeagerTechResources。
创建资源管理器时,我有以下语法:
ResourceManager RM = new ResourceManager("YeagerTechResources.Resources",
Assembly.GetExecutingAssembly());
显然,这是不正确的。
YeagerTechResources 项目中的资源文件的 BuildAction 设置为 Embedded Resource。
我的资源文件的名称是:Resources.resx 和 Resources.es-ES.resx。
如果有人可以在实例化资源管理器时根据我的项目和资源文件名简单地告诉我要使用的确切语法,我将不胜感激......
我已经做了我能想到的一切来解决这个问题,但不能......
这是我最后一次尝试在这里解决它......
ResourceManager RM = new ResourceManager("YeagerTechResources.Resources", Assembly.GetExecutingAssembly());
sb.Append(RM.GetString("RegisterThanks"));
执行上述代码后出现以下错误:
找不到适合指定区域性或中性区域性的任何资源。确保“YeagerTechResources.Resources.resources”在编译时正确嵌入或链接到程序集“YeagerTech”中,或者所有所需的附属程序集都是可加载的并且完全签名。
我可以毫无问题地使用 HTML 标记中的资源,但是在控制器中使用 C# 代码时,我不断收到上述错误。
非常感谢根据我的项目对我需要的确切语法的任何帮助。