3

我一直在用经典的 ASP.NET 开发一个应用程序并将其部署到 azure。到现在为止,一点问题都没有。现在我想添加本地化资源以支持多语言。

App_GlobalResources/*.resources 文件在本地运行时工作正常,无论是在 Azure 模拟器的外部还是内部。但是当我尝试在 Azure 中使用它们时,我收到以下错误:

在磁盘上找不到适合指定区域性(或中性区域性)的任何资源。基本名称:SistemaRRHH.Signup.SignupLabels 位置信息:文件名: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);

非常感谢你的帮助!

4

1 回答 1

0

我注意到 Azure 中的一些本地化问题,特别是 DateTimes(通常的罪魁祸首)——你是在美国以外的地方吗?我们位于英国并使用欧洲数据中心,但仍在 Azure 中获取美国格式的日期。如果是这种情况,您也可以尝试创建 en-US 资源文件,看看是否能解决问题。我们现在在 web.Config 中添加了一个全球化标签 - 一个短期修复,但在我可以重新访问之前解决了这个问题。

于 2012-11-28T14:54:34.917 回答