2012-02-23 47 views
0

我在App_GlobalResources中添加了一個名爲FileList.resx的資源文件。ASP.NET中的資源(VB)

現在我用

My.Resources.FileList.astro1 etc. 

它工作正常,如果我設置的資源文件的生成操作嵌入式訪問代碼中的內容。但是在這種情況下,資源文件在編譯後不可用,我以後不能更改它。

如果我將生成操作設置爲內容,我得到一個錯誤:找不到適用於指定文化或中性文化的任何資源。確保在編譯時「WAP.FileList.resources」已正確嵌入或鏈接到程序集「WAP」,或者所有需要的附屬程序集均可加載並完全簽名。

請指教。

回答

0

正在使用Visual Studio的Web應用程序嗎?或一個網站?

在後一種情況下,您應該能夠在部署站點後更改資源文件,並且應該自動在服務器上重新編譯它。在前一種情況下,它是在部署之前編譯站點後無法更改的內置功能。

如果這對你來說是個問題,當然還有資源文件的替代方案....

0

以任何方式編譯和部署應用程序,所有資源文件都將編譯成與每個資源文件程序集相關。在所有情況下,最終都會爲站點中的每個目錄創建資源程序集,並在其各自的文化特定目錄下生成附屬程序集。即使該網站是JIT編譯的,結果也是相同的。

因此,您必須使用資源文件的Build Action來嵌入,但作爲動態資源定義的可能解決方案,您可以將資源置於數據庫中。甚至提供資源提供者。在這種情況下,您的數據庫解決方案將具有資源管理(動態文化定義,使用資源綁定來控制等)所建議的所有優勢。

在這裏您可以找到一些教程,瞭解如何在應用程序中實現資源提供者模型:

  1. Extending the ASP.NET 2.0 Resource-Provider Model
  2. Creating a Data Driven ASP.NET Localization Resource Provider and Editor