我有一個非常奇怪的問題與基於resx的本地化。首先,請讓我解釋一下,現在是如何爲我完成的。
這是ASP.NET MVC項目。我有兩個程序集:web和域。 Web包含所有與MVC相關的東西,以及域,以及contans域類。另外,在域名彙編中,我存儲了很多用於本地化的靜態資源(我用三種不同的語言編寫站點)。本地化使用資源文件
所以我在這個領域組裝本地化文件夾,有喜歡的文件:
CheckoutStrings.resx,CheckoutStrings.en-US.resx,CheckoutStrings.et-EE.resx等。
現在奇怪的是,這是使用VS開發服務器和IIS 7.5在我的本地機器上非常好地工作。但是,當我將解決方案上傳到我的Web服務器(即Windows Server 2008 R2),因此它也是IIS 7.5時,我的本地化突然停止工作。
我試圖輸出
Thread.CurrentThread.CurrentUICulture
在我的意見,只是輸出本地化字符串之前。
它給了我選擇的文化,這是正確的,但字符串呈現爲一個後備值,而不是本地化。
我真的堅持在這裏,希望任何人有一個線索是怎麼回事...
1.它怎麼會沒有被發現? 2.不,我沒有部署到gac 3.從來沒有聽說過fuslogvw,謝謝你的提示! – user231481 2010-01-02 18:47:34
我已經設置LogResourceBinds爲1像你說的那樣,之後fuslogvw顯示了一些綁定日誌,但沒有具體到我的應用程序。而我的域名程序集中的其他內容也能夠正常工作,所以我想不出任何嵌入式資源無法加載的原因。 真正讓我感到震驚的是它在本地機器上運行,並且不在服務器上運行。 – user231481 2010-01-03 11:47:26
我發現,像往常一樣,這是我的錯誤。我們使用svn/export來部署網站,並且svn沒有看到新生成的sattelite程序集。所以IIS只加載了沒有衛星的域dll。 – user231481 2010-01-10 12:10:08