リンク リソースと埋め込みリソース
更新 : 2007 年 11 月
Visual Studio プロジェクトには、リソースの処理方法として 2 つのオプションがあります。リソースをリンクする方法 (既定) と、リソースを埋め込む方法です。1 つのプロジェクトには、リンク リソースと埋め込みリソースの両方を入れることができます。ただし、たいていの場合は、プロジェクトのすべてのリソースに 1 つのオプションを選択します。
リンク リソースは、ファイルとしてプロジェクトに格納されます。コンパイル時に、リソース データがファイルから取得され、アプリケーションのマニフェストに追加されます。アプリケーションのリソース ファイル (.resx) には、ディスク上のファイルへの相対パスまたはリンクだけが格納されます。
埋め込みリソースの場合、リソース データは、バイナリ データを表すテキストとして .resx ファイルに直接格納されます。いずれの場合にも、リソース データは、実行可能ファイル内にコンパイルされます。
リソース ファイルの Persistence プロパティを変更すると、リンク リソースを埋め込みリソースに変更できます。詳細については、「方法 : 埋め込みリソースを作成する」を参照してください。
メモ : |
---|
文字列リソースは常に埋め込みリソースであり、変更はできません。また、ファイル リソースは常にリンク リソースであり、変更はできません。 |
埋め込みリソースとリンク リソースの切り替え
一般に、リンク リソースの方が使いやすいため、こちらの使用をお勧めします。 ただし、埋め込みリソースを使用する方が望ましい場合もあります。
埋め込みリソース
アプリケーションのリソース ファイル (.resx) を複数プロジェクトで共有する必要がある場合には、埋め込みリソースが最良の選択です。たとえば、会社のロゴや商標情報などを含む共通のリソース ファイルがある場合は、埋め込みリソースにすると .resx ファイルだけをコピーすればよく、関連付けられたリソース データ ファイルをコピーする必要はありません。
埋め込みリソースを直接編集することはできません。埋め込みリソースを編集しようとすると、リンク リソースに変換してから編集するように求めるメッセージが表示されます。この場合、変換することをお勧めしますが、この操作はオプションです。変換した項目をエクスポートし、外部プログラムで変更してから、再度プロジェクトにインポートする必要があります。
埋め込みリソースの使用の詳細については、「方法 : リソースをインポートまたはエクスポートする」および「方法 : 埋め込みリソースを作成する」を参照してください。
リンク リソース
使いやすさを優先する場合は、リンク リソース (既定) をお勧めします。リンク リソースはプロジェクト内で直接編集でき、必要に応じて容易にリソースを追加したり削除したりできます。