天天看點

.NET中英文切換常見錯誤

.NET中英文切換常見錯誤

未能找到任何适合于指定的區域性或非特定區域性的資源。請確定在編譯時已将“LanguageChange.App_LocalResources.English.resources”正确嵌入或連結到程式集“LanguageChange”,或者確定所有需要的附屬程式集都可加載并已進行了完全簽名。

.NET中英文切換常見錯誤

Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "LanguageChange.App_LocalResources.English.resources" was correctly embedded or linked into assembly "LanguageChange" at compile time, or that all the satellite assemblies required are loadable and fully signed.

以上為中英文情況下的錯誤提示,出現此問題原因在于程式找不到此資源檔案。

在網上查詢,有很多種情況會遇到此問題,這裡僅記錄自己遇到的問題,并提供解決方案。

資源檔案在建立時,預設屬性"生成操作”為内容,在此情況下,程式在編譯時,不會将此資源檔案編譯到程式當中去,修改為” 嵌入的資源“即可。注意:建立資源檔案後,需将”通路修飾符“修改為”public“,否者無法通路(如果有多種語言,隻需設定其中一個語言的資源檔案即可)。

具體建立中英文程式步驟(VS2013):選擇本地資源檔案=》右鍵資源檔案名,添加建立項,選擇資源檔案(各種語言前半部分名字相同,在.後面跟對應語言特定code,查詢位址:http://wenku.baidu.com/link?url=U0yQpeYVvZmfwG9cAs3huFR8pei2H6L4H86kplo0ZK0ot0GV8IP74XHwt12bKA8fMd2rgSCN8fhtmyavmJVidqn9toN1Lv8xSIslAJNujhu),舉例:English.en-US.resx/ English.zh-CN.resx (.後面跟對應語言代碼)

.NET中英文切換常見錯誤

界面使用(引用資源檔案到檔案夾)

.NET中英文切換常見錯誤

實作中英文切換:

.NET中英文切換常見錯誤

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo(”對應語言代碼(zh-CN/en-US)“);//必須有次資源檔案

SelectLang為對應的語言代碼(zh-CN/en-US)

還需要在Global.asax中設定預設打開時的語言:

.NET中英文切換常見錯誤

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("en-US");

如果添加多國語言,隻需加對應語言的資源檔案

最後注意點:資源檔案的”通路修飾符=public“,”生成操作屬性=嵌入的資源“(右鍵資源檔案,屬性中查找)

.NET中英文切換常見錯誤

繼續閱讀