Asp.net
VS2008發佈網站後無法解析全域資源
我有一個在 VS 2008 中執行的網路項目。我們在 App_GlobalResources 文件夾中有一些全域資源文件 (*.resx) 用於國際化。所有這些都像我在 VS 中安裝的本地 IIS 的魅力一樣。
但是當我將我的網路項目發佈到本地文件系統和/或另一台伺服器時,所有資源都找不到了。所以我猜預編譯會以某種方式破壞東西。當我呼叫預編譯的 web 時,我得到一個錯誤,即無法找到帶有鍵 xyz 的資源對象,儘管它之前可以找到。
我使用 .NET 反射器檢查了資源是否進入 *.dll。所有這些標識符都在那裡(bin/Web.dll、bin/<culture>/Web.resources.dll)。標識符的載入方式如下:
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">資源文件稱為 MyProject.resx 和 MyProject.<culture>.resx,其中 <culture> 對應於特定的文化(即 MyProject.de-DE.resx)。
任何想法如何解決這個問題?
我真的很感激任何幫助。
謝謝
編輯:
如果我手動將 App_GlobalResources 文件夾複製到輸出,則資源可能會正常載入。所以我真的很想知道這個預編譯是關於什麼的。
我仍然對“以正確的方式”解決問題感興趣。
我遇到了同樣的問題,不得不對 resx 文件屬性進行兩次更改。
- 將“建構操作”設置為內容
- 將“複製到輸出目錄”設置為始終複製
(我無法評論之前的答案……還沒有聲譽……?)
恐怕這並沒有解決我的問題。
在嘗試“始終內容/複製”解決方案時,我收到一個異常,指出編譯時的連結不起作用。
為什麼asp.net編譯資源的時候需要resx文件!?