アプリケーションのリソース

ほとんどの製品レベルのアプリケーションでは、リソースを使用する必要があります。リソースは、実行不可能なデータであり、アプリケーションと共に論理的に配置されます。このリソースは、アプリケーション内でエラー メッセージまたはユーザー インターフェイスの一部として表示できます。リソースには、文字列、イメージ、永続化されたオブジェクトなど、多数の形式のデータを含めることができます。データをリソース ファイルに格納しておけば、アプリケーション全体を再コンパイルすることなくデータだけを変更できます。永続化されたオブジェクトをリソース ファイルに書き込むには、そのオブジェクトをシリアル化できることが必要です。

.NET Framework は、リソースの作成とローカライズを包括的にサポートします。さらに、.NET Framework は、ローカライズしたリソースのパッケージ化および配置のためのシンプルなモデルもサポートしています。

リソースの作成とローカライズ

アプリケーションのリソースを特定のカルチャに合わせてローカライズできます。これにより、アプリケーションのローカライズ (翻訳) バージョンを構築できます。アプリケーションは、CultureInfo.CurrentUICulture プロパティの値に従って、適切なローカライズ バージョンのリソースを読み込みます。この値は、アプリケーションのコード内で明示的に設定されるか、またはローカル コンピュータ上の現在のユーザーのロケールに従って共通言語ランタイムによって設定されます。CurrentUICulture の設定方法については、「固有カルチャのリソースの検索と使用」および「CurrentUICulture プロパティの使用」を参照してください。

リソースのパッケージ化と配置

アプリケーションのリソースをサテライト アセンブリ内に配置できます。定義上、サテライト アセンブリにはリソース ファイルだけが含まれます。アプリケーション コードは一切含まれません。サテライト アセンブリの配置モデルでは、1 つの既定アセンブリ (メイン アセンブリ) といくつかのサテライト アセンブリを使用するアプリケーションを作成します。アプリケーションがサポートするカルチャごとにサテライト アセンブリを 1 つ作成する必要があります。サテライト アセンブリはメイン アセンブリの一部には含まれないため、アプリケーションのメイン アセンブリを交換しなくても、特定のカルチャに対応するリソースだけを簡単に交換または更新できます。

どのリソースをアプリケーションの既定のリソース アセンブリに含めるかは、慎重に決定してください。これはメイン アセンブリの一部に含まれるため、変更するためにはメイン アセンブリを交換する必要が生じます。既定のリソースを提供しないと、リソース フォールバック プロセスによって既定リソースが検索されるときに例外が発生します。アプリケーションが適切にデザインされている場合は、リソースを使用することによって例外が発生することはないはずです。

参照

関連項目

CultureInfo.CurrentUICulture Property

概念

CurrentUICulture プロパティの使用
リソースのパッケージ化と配置

その他の技術情報

エンコーディングとローカリゼーション