混乱はおそらく、デスクトップアプリのリソースファイルを作成する方法が(5)異なるためです。アセンブリリンカー(al.exe)とリソースファイルジェネレーター(resgen.exe)は、ローカライズされたリソースを操作するときに使用される主なツールです。Resgen.exeはresx(XML)をリソース(binary)にコンパイルし、 al.exeはリソース(binary)を衛星アセンブリ(dll)に結合します。衛星アセンブリは通常、サポートされているカルチャ(ハブアンドスポーク)ごとに定義されます)。サテライトアセンブリは、アプリケーションを再コンパイルしなくても更新できます。
文字列、画像、オブジェクトデータなどのリソースをリソースファイルに含めて、アプリケーションで簡単に利用できるようにすることができます。.NET Frameworkには、リソースファイルを作成するための5つの方法があります。
1.文字列リソースを含むテキストファイルを作成します。リソースファイルジェネレーター(Resgen.exe)を使用して、テキストファイルをバイナリリソース(.resources)ファイルに変換できます。次に、言語コンパイラを使用してバイナリリソースファイルをアプリケーション実行可能ファイルまたはアプリケーションライブラリに埋め込むか、Assembly Linker(Al.exe)を使用してサテライトアセンブリに埋め込むことができます。詳細については、「テキストファイルのリソース」セクションを参照してください。
2.文字列、画像、またはオブジェクトデータを含むXMLリソース(.resx)ファイルを作成します。リソースファイルジェネレーター(Resgen.exe)を使用して、.resxファイルをバイナリリソース(.resources)ファイルに変換できます。次に、言語コンパイラを使用してバイナリリソースファイルをアプリケーション実行可能ファイルまたはアプリケーションライブラリに埋め込むか、Assembly Linker(Al.exe)を使用してサテライトアセンブリに埋め込むことができます。詳細については、「。resxファイルのリソース」セクションを参照してください。
3. System.Resources名前空間の型を使用して、プログラムでXMLリソース(.resx)ファイルを作成します。.resxファイルを作成し、そのリソースを列挙し、名前で特定のリソースを取得できます。詳細については、トピック「プログラムによる.resxファイルの操作」を参照してください。
4.プログラムでバイナリリソース(.resources)ファイルを作成します。次に、言語コンパイラを使用してファイルをアプリケーション実行可能ファイルまたはアプリケーションライブラリに埋め込むか、Assembly Linker(Al.exe)を使用してサテライトアセンブリにファイルを埋め込むことができます。詳細については、「。resourcesファイルのリソース」セクションを参照してください。
5. Visual Studioを使用してリソースファイルを作成し、プロジェクトに含めます。Visual Studioには、リソースを追加、削除、および変更できるリソースエディターが用意されています。コンパイル時に、リソースファイルは自動的にバイナリの.resourcesファイルに変換され、アプリケーションアセンブリまたはサテライトアセンブリに埋め込まれます。詳細については、「VisualStudioのリソースファイル」セクションを参照してください。