Asp.net

VS2008發佈網站後無法解析全域資源

  • February 6, 2013

我有一個在 VS 2008 中執行的網路項目。我們在 App_GlobalResources 文件夾中有一些全域資源文件 (*.resx) 用於國際化。所有這些都像我在 VS 中安裝的本地 IIS 的魅力一樣。

但是當我將我的網路項目發佈到本地文件系統和/或另一台伺服器時,所有資源都找不到了。所以我猜預編譯會以某種方式破壞東西。當我呼叫預編譯的 web 時,我得到一個錯誤,即無法找到帶有鍵 xyz 的資源對象,儘管它之前可以找到。

我使用 .NET 反射器檢查了資源是否進入 *.dll。所有這些標識符都在那裡(bin/Web.dll、bin/<culture>/Web.resources.dll)。標識符的載入方式如下:

&lt;asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="&lt;%$ Resources:MyProject, MenuNewOrder %&gt;" Value="NewOrder"&gt;

資源文件稱為 MyProject.resx 和 MyProject.<culture>.resx,其中 <culture> 對應於特定的文化(即 MyProject.de-DE.resx)。

任何想法如何解決這個問題?

我真的很感激任何幫助。

謝謝

編輯:

如果我手動將 App_GlobalResources 文件夾複製到輸出,則資源可能會正常載入。所以我真的很想知道這個預編譯是關於什麼的。

我仍然對“以正確的方式”解決問題感興趣。

我遇到了同樣的問題,不得不對 resx 文件屬性進行兩次更改。

  1. 將“建構操作”設置為內容
  2. 將“複製到輸出目錄”設置為始終複製

(我無法評論之前的答案……還沒有聲譽……?)

恐怕這並沒有解決我的問題。

在嘗試“始終內容/複製”解決方案時,我收到一個異常,指出編譯時的連結不起作用。

為什麼asp.net編譯資源的時候需要resx文件!?

引用自:https://stackoverflow.com/questions/851522