我想要編譯App_GlobalResources文件/ Strings.resx到我的組件(最終使用衛星組合件Strings.es.resx,Strings.fr.resx等。),但會出現以下錯誤一旦應用發佈:如何使用編譯全球資源在ASP.NET MVC
「無法加載文件或程序集‘App_GlobalResources文件’或它的一個依賴系統無法找到指定的文件」
重現步驟:
- 創建一個新的ASP.NET MVC項目。
- 添加一個App_GlobalResources文件夾和一個Strings.resx文件。
- 設置文件的生成操作「嵌入的資源」
- 添加一個字符串Strings.resx和
HomeController.Index()
使用它,例如ViewData["Message"] = Strings.MyTest
- F5調試,工作正常。
- 發佈到IIS和(因爲Strings.resx被排除在發佈之外),您將在發佈的站點中獲得上述錯誤。
ASP.NET MVC項目可以使用編譯到dll中的字符串資源,如果是的話,我做錯了什麼?
那麼爲什麼ResourceManager沒有找到他們呢?它不應該默認爲fallback to the main assembly?
優秀的答案!很棒。謝謝。 –
_偉大的鏈接!謝謝! –
@ w0rd-driben,我已經構建了一個包含globalresource的assembly1,並且在發佈時公開,但是在另一個項目中使用此程序集並使用代碼時:「<%$ Resources:General,SomeKey%>」不工作...任何想法?謝謝 – Mhmd