3

従来の ASP.NET でアプリケーションを開発し、Azure にデプロイしています。今のところ、まったく問題ありません。ここで、多言語をサポートするためにローカライズされたリソースを追加したいと考えています。

App_GlobalResources/*.resources ファイルは、azure エミュレーターの外部と内部の両方でローカルで実行している場合に正常に機能します。しかし、Azure でそれらを使用しようとすると、次のエラーが発生します。

指定されたカルチャ (またはニュートラル カルチャ) に適したリソースがディスク上に見つかりませんでした。baseName: SistemaRRHH.Signup.SignupLabels locationInfo: ファイル名: 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 に答える