如何从引用的库项目访问资源文件?

时间:2010-03-09 22:40:50

标签: asp.net embedded-resource class-library

我有一个ASP.Net网站“MyApp”,其中包含以下资源文件:

  1. WebResources.resx
  2. WebResources.es.resx
  3. 该网站引用了一个库项目“MyLib”,我想从中访问这些资源文件。这是我正在尝试的代码:

    var rm = new ResourceManager("MyApp", Assembly.GetExecutingAssembly());
    subject = rm.GetString("HelloMessage"); //always string.empty
    

    问题是执行程序集始终是“MyLib”而不是“MyApp”。是否可以从库项目访问网站项目中嵌入的资源文件?

    感谢您的帮助, -Keith

1 个答案:

答案 0 :(得分:0)

var res = HttpContext.GetGlobalResourceObject(resourceFile,resourceKey);

将resourceFile替换为资源文件名(不含.resx)。

使用密钥名称替换resourceKey。

public static string GetResourceString(string resourceFile, string resourceKey)
{
 if (HttpContext.Current == null)
     return resourceKey;
 var res = HttpContext.GetGlobalResourceObject(resourceFile, resourceKey);
 if (res == null)
 {
     // Log missing key here
     // ....
     res = resourceKey;
 }
 return res;
}