2016-10-25 3 views
5

Visual Studio 2015および.NET 4.6.1で開発しているこのASP.NET Webアプリケーションがあります。私は、ローカルとグローバルのリソースを広範囲に利用して、自分のアプリケーションを英語(デフォルト)、スペイン語、ガリシア語にローカライズしています。 IIS Expressを使用する私の開発マシンでは、すべて正常に動作します。しかし、Windows Server 2008でIIS 7を使用する運用サーバーにWebアプリケーションを公開すると、スペイン語のグローバルリソースは無視され、ガリシア語だけでなく既定の英語も使用されます。ASP.NET Webアプリケーションで追加のカルチャのグローバルリソースが無視される

私はWeb Publishの「ファイルシステム」方法でWebアプリケーションを公開しています。私が見る限り、.resxファイルはグローバルリソース用にデプロイされません。代わりに、App_GlobalResources.resources.dllという名前のファイルがbinbin/es、およびbin/glというフォルダに展開されます。さらに、MyNamespace.resources.dllファイルはbin/esにデプロイされますが、非常に奇妙なbin/glにはデプロイされません。

また、私はen-GBes-ESまたはgl-ESのいずれかに基づいてCultureInfoオブジェクトにThread.CurrentThread.CurrentUICultureを設定することによって、自分のコード内の文化を切り替えていますと言わなければなりません。

ニュートラル(たとえば、gl)とローカライズされた(たとえば、gl-ES)の形式のカルチャコードを使用して、コード内のグローバルリソースファイルの名前を付けようとしました。これは何の違いもないようです。また、ローカルリソースファイルには、中立バリアントを使用して名前が付けられます。

なぜスペインのグローバルリソースが無視されているのですか?ありがとう。

答えて

4

リソースファイルの名前を正しく指定する必要があります。たとえば、完全なカルチャー指定を使用してファイルの名前を付けてみましたか? ResourceTexts.resx,ResourceTexts.es-ES.resxおよびResourceTexts.gl-ES.resx。公開後、App_GlobalResourcesフォルダにあります。

+0

デフォルトで英語のculture suffixを使用する必要がありますか?通常、私は修飾子なしでResourceTexts.resxとして残します。 – CesarGon

+0

また、グローバルリソースのために提案しているように、完全なカルチャースペックのローカルリソースも指定しますか? – CesarGon

+0

私はちょうどあなたが提案して何も変わらないようにしようとしました。 :-(また、 'App_GlobalResources'フォルダは私のサーバ上に存在しません。私のOPで説明しているように、DLLは' bin'の下のサブディレクトリに展開されます。 – CesarGon

関連する問題