2010-01-17 38 views
0

我在嘗試重寫ASP.NET MVC中的DisplayNameAttribute以提供本地化字符串時遇到問題。該代碼本身是直接和類似於另一個Stackoverflow後link textASP.NET MVC - 本地資源問題

該代碼適用於全球資源,但不是很好的本地資源。我有一個註冊屏幕,並使用Visual Studio「生成本地資源」命令來創建我的本地資源文件。生成的文件名爲Registration.aspx.resx,App_LocalResources文件夾是根據實際的Registration.aspx頁面創建的 - 正如人們所期望的那樣。

然而,當我嘗試使用,以獲得本地化的字符串:

ResourceManager.GetString(resourceKey)

我收到以下錯誤消息。

找不到適合於指定文化 或中立文化的任何資源 。確保 「FullAssemblyName.Views.Account.App_LocalResources.Registration_aspx.resources」 正確嵌入或在編譯時 鏈接到 裝配「FullAssemblyName」,或者確保所有需要的衛星 集都可加載和 完全簽名。

使用反射器,我可以看到該文件實際上是Registration.aspx.resources而不是Registration_aspx.resources - 下劃線/段是細微的差別

FullAssemblyName.Views.Account.App_LocalResources。 Registration.aspx.resources

我已經玩了很多代碼,但無論我做什麼,被請求的文件總是不同於複製在程序集中的文件。例如,如果我重命名Registration_aspx(在生成的Registration.aspx.designer.cs類中,我得到相同的錯誤,但這次路徑是「... App_LocalResources.Registrationaspx.resources」

有沒有人遇到過這個問題?有什麼辦法,我可以保證,在我的組裝中發現的資源有這個底線?!?!?

預先感謝您!

回答

0

嘗試邁克爾·坎貝爾K.解決link text。它工作得很好形成我本地化我的項目。