リソース ファイルの作成
更新 : 2007 年 11 月
.NET Framework の基本クラス ライブラリでは、アプリケーションのリソースの作成と操作に役立ついくつかのクラスが System.Resources 名前空間に用意されています。各クラスの使用方法の詳細については、それぞれのリンクをクリックして対応するトピックを参照してください。
クラス |
説明 |
---|---|
ストリームからリソースを読み取ります。 |
|
ストリームにリソースを書き込みます。 |
|
ランタイムの既定のバイナリ リソース ファイル形式のリソースを読み取ります。このクラスは、IResourceReader インターフェイスの既定の実装です。 |
|
ランタイムの既定のバイナリ リソース ファイル形式でリソースを書き込みます。このクラスは、IResourceWriter インターフェイスの既定の実装です。 |
|
.resx ファイルから作成されたリソースを取得する機能を提供します。このクラスは、IResourceReader の特化された実装です。 |
|
指定したリソースから .resx ファイルを作成する機能を提供します。このクラスは、IResourceWriter の特化された実装です。.resx ファイルを .resources ファイル形式に変換するには、リソース ファイル ジェネレータ (Resgen.exe) を使用します。 |
リソース ファイルを作成するには、3 種類の方法があります。リソースに文字列データだけを含める場合は、手作業でテキスト ファイルを作成する方法が一番簡単です。リソースにオブジェクト、または文字列とオブジェクトの組み合わせが含まれる場合は、.resx ファイルまたは .resources ファイルを作成する必要があります。各ファイルの種類の詳細については、対応するリンクをクリックしてください。
メモ : |
---|
パスワード、セキュリティの配慮が必要な情報、プライベートなデータなどの格納には、リソース ファイルを使用しないでください。 |
永続化されたオブジェクトをリソース ファイルに書き込むには、そのオブジェクトをシリアル化できることが必要です。文字列や整数などの .NET Framework の型、および Bitmap、Icon、Image などの Windows フォームの型は、信頼度の高くないコードでも逆シリアル化できます。他の型を逆シリアル化するには、これらを呼び出すコードに、SerializationFormatter フラグが設定されている SecurityPermission を与える必要があります。
プライベートとして指定されたリソースには、そのリソースが置かれているアセンブリ内だけでアクセスできます。サテライト アセンブリはコードを持たないため、このアセンブリのプライベート リソースは、どのような機構からも利用できません。このため、サテライト アセンブリ内のリソースはパブリックにし、メイン アセンブリからアクセスできるようにします。メイン アセンブリに埋め込まれたリソースは、プライベートかパブリックかにかかわらず、メイン アセンブリ内でアクセスできます。
作成したアプリケーションに、自分で作成したのではないアセンブリを含める場合は、そのアセンブリのリソースにアプリケーションが依存しないようにしてください。サードパーティのリソースに依存すると、将来のリリースやサービス パックでリソースが提供されない場合、アプリケーションが動作しなくなる可能性があります。
共通言語ランタイム アセンブリおよびサテライト アセンブリには、.resources ファイルだけを埋め込みます。リソース ファイル ジェネレータ (Resgen.exe) は、ResourceReader、ResourceWriter、ResXResourceReader、ResXResourceWriter の各クラスによって実装されるメソッドをラップすることによって、テキスト (.txt) ファイルと XML ベースのリソース (.resx) ファイルを .resources ファイルに変換します。Resgen.exe を使用して .resources ファイルを .resx ファイルまたは .txt ファイルに変換することもできます。
Microsoft Windows Software Development Kit (SDK) には、リソース ファイルの使用方法を示したいくつかのサンプルが用意されています。「アプリケーションのリソース」、「ASP.NET クイック スタート」の「.NET サンプル - ASP.NET のローカリゼーション」、および「共通タスクのクイック スタート」の「.NET サンプル ガイド : リソース」を参照してください。