.net资源DLL包含多个resx文件

时间:2012-09-23 06:54:25

标签: c# winforms resources .net-2.0

我需要知道从具有多个资源文件(.resx)的资源DLL中正确访问字符串和图像的方法。

我正在开展一个非常大的项目,由几个winforms组成,每个winforms有多个面板。我试图通过使每个表单具有自己的res文件并将应用程序限制为一个资源DLL而不是多个资源DLL来整理一些东西。

问题是当我尝试将新资源文件添加到我的资源DLL并尝试访问字符串时,例如,正在保存在新创建的resx文件中。 ResourceManager返回一个空字符串。

以下是我创建ResourceManager对象并获取字符串

的方法
static public string GetResourceString(string sStringName)
{     
System.Reflection.Assembly myDllAssembly = System.Reflection.Assembly.LoadFile(ResPath);
     string[] allResourcesinDLL = myDllAssembly.GetManifestResourceNames();
     ResourceManager ResInstance = new ResourceManager(allResourcesinDLL[0].Replace(".resources", string.Empty), myDllAssembly);

 return  ResInstance.GetString(sStringName);
}

其中ResPath是我的资源DLL的路径,sStringName是资源/字符串标题。

我不确定是否有办法指定要读取的resx文件,或者是否应该以其他方式处理它。请记住,我的应用程序是使用.net 2.0框架编译的,所以我只限于我能够使用的API。

0 个答案:

没有答案