簡體   English   中英

HttpContext.GetGlobalResourceObject始終為類庫中的null

[英]HttpContext.GetGlobalResourceObject Always null from Class Library

我的Web應用程序中的App_GlobalResources中有一個resx文件,調用時帶:

Resources.GetResource("ResourceFileName", "Resource")

輔助方法存在於單獨的類庫中以獲取資源值:

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;
        }
    }
}

如果我點擊F5,一切正常。 如果我部署到Web服務器,則對GetGlobalResourceObject的所有調用都將返回null。

資源存在。 我怎么把它們拿出來?

謝謝,

理查德

我也有同樣的問題,是“GetGlobalResourceObject(...)”在發布后返回null。

所以,我找到了解決方案,而不是使用'GetGlobalResourceObject(“Captions”,“button_go_text”)' ''Resources.Captions.ResourceManager.GetString(key)'

示例代碼如下所示


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

我希望有幫助,

最好的祝福

我能夠通過將我的資源文件的自定義工具設置為GlobalResourceProxyGenerator來解決此問題

並將“ 構建 內容 行動”和“ 復制到輸出目錄”屬性設置為“始終復制”

資源文件屬性

如果我在發布生產調用HttpContext時沒有這樣做.GetGlobalResourceObject將始終返回null。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM