我一直在經典ASP.NET中開發應用程序並將其部署到Azure。到現在爲止,完全沒有問題。現在我想添加本地化的資源來支持多語言。在Windows Azure中使用本地化資源時出現異常
當在Azure模擬器的外部和內部運行本地時,App_GlobalResources/*。resources文件可以正常工作。但是,當我嘗試在Azure中使用它們,我收到以下錯誤:
Could not find any resources appropriate for the specified culture (or the neutral culture) on disk. baseName: SistemaRRHH.Signup.SignupLabels locationInfo: fileName: SistemaRRHH.Signup.SignupLabels.resources.
例外的情況是非常不言自明的,買我不能以任何方式解決它。
異常被拋出在這裏:
var requestCultureInfo = new CultureInfo(Utils.GetRequestFirstLanguageAccepted(Request.Headers["Accept-Language"]));
ResourceManager rm = ResourceManager.CreateFileBasedResourceManager(Constants.RESOURCE_FILE_LABELS_NAME, HttpContext.Current.Server.MapPath(Constants.RESOURCE_FILE_DIRECTORY), null);
letsGetItStartedLabel.Text = rm.GetString(Constants.LETS_GET_IT_STARTED_LABEL, requestCultureInfo);
非常感謝您的幫助!
實際上,我們基於智利,但現在我們正在使用HTTP請求中的Accept-Language頭來處理本地化。 我們已經創建的文件: 英語:SistemaRRHH.Signup.SignupLabels.en-US.resources 西班牙語:SistemaRRHH.Signup.SignupLabels.es-ES.resources 默認:SistemaRRHH.Signup.SignupLabels.resources 理論上,.NET應該從默認文件中獲取資源,如果它不匹配任何其他資源,但我認爲它沒有找到任何文件。 無論如何感謝@levelnis,如果我找到解決方案,我會在這裏發佈。 – lokip1