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

我需要知道从具有多个资源文件(.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。