HttpContext.GetGlobalResourceObject始终为类库中的null

Ric*_*ard 3 c# asp.net

我的Web应用程序中的App_GlobalResources中有一个resx文件,调用时带:

Resources.GetResource("ResourceFileName", "Resource")
Run Code Online (Sandbox Code Playgroud)

辅助方法存在于单独的类库中以获取资源值:

using System.Resources;
using System.Web;

public static class Resources
{
    public static string GetResource(string resource, string key)
    {
        try
        {
            string resourceValue = (string)HttpContext.GetGlobalResourceObject(resource, key);

            return string.IsNullOrEmpty(resourceValue) ? string.Empty : resourceValue;
        }
        catch (MissingManifestResourceException)
        {
            return string.Empty;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我点击F5,一切正常.如果我部署到Web服务器,则对GetGlobalResourceObject的所有调用都将返回null.

资源存在.我怎么把它们拿出来?

谢谢,

理查德

小智 5

我也有同样的问题,是的"GetGlobalResourceObject(...)"在发布后返回null.

于是,我找到了解决办法使用,而不是"GetGlobalResourceObject('标题’,'button_go_text’)""Resources.Captions.ResourceManager.GetString(键)"

示例代码如下所示


    public static string GetResMsg(this HtmlHelper htmlHelper, string key)
    {
      try
      {
        return Resources.[resource class name].ResourceManager.GetString(key);
      }
      catch
      {
        return "?";
      }
    }
Run Code Online (Sandbox Code Playgroud)

我希望有帮助,

最好的祝福