尝试使用资源管理器从项目中的资源获取字符串,我不断收到以下异常:
mscorlib.dll中发生了类型为system.Resources.MissingManifestResourceException的未处理异常。
所以我决定创建一个控制台应用程序来测试它,我仍然遇到同样的问题,我尝试了各种解决方案并始终得到相同的异常。
继承我的代码:
using System;
using System.Reflection;
using System.Resources;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ResourceManager rm = new ResourceManager("Resource1", Assembly.GetExecutingAssembly());
string someString = rm.GetString("test");
Console.ReadKey();
}
}
}
答案 0 :(得分:1)
您需要包含资源的命名空间,请尝试
ResourceManager rm =
new ResourceManager("ConsoleApplication1.Resource1", Assembly.GetExecutingAssembly());
我更喜欢使用像这样的类型信息
ResourceManager rm = new ResourceManager(typeof(ConsoleApplication1.Resource1));
这是关于使用ResourceManager的一个很棒的write-up。
答案 1 :(得分:0)
您必须完全限定资源名称:
ResourceManager manager = new ResourceManager("ConsoleApplication1.Resource1", Assembly.GetExecutingAssembly());
答案 2 :(得分:0)
Quantic提供的答案为我工作,感谢Quantic!
string someString = ConsoleApplication1.Resources.Resource1.test;