3

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

我正在处理一个非常大的项目,它由几个 Winform 组成,每个 Winform 都有多个面板。我试图通过使每个表单都有自己的 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。

4

0 回答 0