我一直在使用经典ASP.NET开发应用程序并将其部署到azure。到现在为止,完全没问题。现在我想添加本地化资源以支持多语言。
App_GlobalResources / *。resources文件在azure模拟器外部和内部运行本地时工作正常。但是当我尝试在Azure中使用它们时,我收到以下错误:
无法找到适合指定文化的任何资源(或 磁盘上的中性文化。 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);
非常感谢你的帮助!
答案 0 :(得分:0)
我注意到Azure中存在一些本地化问题,特别是DateTimes(通常的罪魁祸首) - 你是在美国以外的地方吗?我们的总部设在英国并使用欧洲数据中心,但仍在Azure中获得美国格式的日期。如果是这种情况,您可以尝试创建en-US资源文件以查看是否可以解决问题。我们现在在web.Config中添加了一个全球化标签 - 这是一个短期修复,但在我重新访问之前就已经过了这个问题。