2010-08-20 70 views
6

我寫了一個非常簡單的MVC應用程序,它只顯示一個資源文件中的單個字符串。它在我的本地機器上工作得很好,但是當我將項目部署到Web服務器時,出現錯誤。如何使用ResX資源發佈/部署MVC項目?

CS0103:名稱「資源」不存在 在目前情況下

你可以很容易複製正是我在短短的10個步驟是做!

  1. 創建一個新的MVC 2 Web應用程序。
    (文件 - >新建 - >項目 - > ASP.NET MVC 2 Web應用程序,說沒有單元測試項目)

  2. 添加 「App_GlobalResources文件」 文件夾中。
    (右鍵單擊項目,然後選擇添加 - >添加ASP.NET文件夾 - > App_GlobalResources文件)

  3. 添加一個資源文件到該文件夾​​。
    (右鍵單擊該文件夾並選擇添加 - >新項...->資源文件,將它命名Strings.resx)

  4. 一個字符串添加到資源表。
    (Name =「HelloWorld」,Value =「I localized Hello World!」)

  5. 設置資源文件的文件屬性。
    (點擊文件Strings.resx和int的屬性窗口中設置生成操作=「嵌入的資源」和CustomTool =「PublicResXFileCodeGenerator」)

  6. 添加一個新的控制器
    (右鍵單擊控制器文件夾並選擇添加 - >控制器...將其命名爲HelloWorldController.cs)

  7. 添加視圖
    (光標在HelloWorldController.cs按CTRL-MV的指數方法使用默認值,包括視圖名稱=「Index」)

  8. 修改視圖,使其顯示我們的資源文件中的字符串。
    更換搜索Maincontent佔位符的內容與

    <h2><%: Resources.Strings.HelloWorld %></h2> 
    
  9. 本地運行,以測試它的工作原理。它應該如何。

  10. 它發佈到Web服務器和訪問URL「http://localhost/HelloWorld

這是我看到在上面描述的錯誤。

我會想象我放在ResX文件上的設置不正確,資源不會發布到服務器。

非常感謝幫助。

謝謝!

回答

14

啊哈!弄清楚了。在很大程度上這篇文章:
http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

聽起來就像是App_GlobalResources文件夾不是合作與MVC。所以,我提出我的ResX文件到一個新的文件夾
〜/資源/字符串 /Strings.resx

這與1種小的變化而設置文件屬性
自定義工具命名空間 =資源

和解決問題!

+0

非常感謝!當我試圖在這裏發佈一個問題時,這是在煩擾我,而我的回答就是呈現給我的。 – 2011-07-30 19:09:43

+0

簡單,簡潔,它的工作原理,非常感謝! :-) – eka808 2011-09-16 07:27:12

相關問題