.Resources ファイル形式のリソース
更新 : 2007 年 11 月
ResourceWriter クラスは、.resources ファイルの作成専用にデザインされています。オブジェクトを保存できるのは、.resources ファイルと .resx ファイルだけです。また、ランタイム実行可能ファイルに埋め込んだり、コンパイルしてサテライト アセンブリにできるのは、.resources ファイル形式のリソース ファイルだけです。コードから直接 ResourceWriter クラスを使用するか、またはリソース ファイル ジェネレータ (Resgen.exe) を使用する方法で、.resources ファイルを作成できます。
メモ : |
---|
パスワード、セキュリティの配慮が必要な情報、プライベートなデータなどの格納には、リソース ファイルを使用しないでください。 |
ResourceWriter クラスの使用
ResourceWriter クラスを使用すると、コードから直接 .resources ファイルを作成できます。まず、一意の名前を付けて ResourceWriter を作成します。次に、各文字列について ResourceWriter.AddResource メソッドを呼び出し、それらの文字列をファイルに追加します。最後に、ResourceWriter.Close メソッドを呼び出して、文字列をリソース ファイルに書き込み、ResourceWriter を閉じます。このプロセスを説明する例を次に示します。
Imports System
Imports System.Resources
Public Class SampleClass
Public Shared Sub Main()
' Create a resource writer.
Dim rw As IResourceWriter
rw = new ResourceWriter("myStrings.resources")
' Add resources to the file.
rw.AddResource("color1", "red")
rw.AddResource("color2", "green")
rw.AddResource("color3", "blue")
' Close the ResourceWriter.
rw.Close()
End Sub
End Class
using System;
using System.Resources;
public class SampleClass
{
public static void Main()
{
// Create a resource writer.
IResourceWriter rw = new ResourceWriter("myStrings.resources");
// Add resources to the file.
rw.AddResource("color1", "red");
rw.AddResource("color2", "green");
rw.AddResource("color3", "blue");
// Close the ResourceWriter.
rw.Close();
}
}
Resgen.exe の使用
リソース ファイル ジェネレータ (Resgen.exe) は、ResourceWriter クラスによって実装されるメソッドをラップすることで、.txt ファイルを .resources ファイルに変換します。Resgen.exe は ResourceReader もラップします。これにより、.resources ファイルを .txt ファイルに戻すツールも使用できるようになります。
メモ : |
---|
コメントは、Resgen.exe がテキスト ファイルを読み取るときに失われるため、結果として作成される .resources ファイルや .resx ファイルには書き込まれません。 |
テキスト ファイルの中でリソース名が重複している場合は、警告メッセージが出され、重複している名前は無視されます。
入力ファイル strings.txt からリソース ファイル strings.resources を作成する Resgen.exe コマンドを次に示します。
resgen strings.txt
出力ファイルの名前を入力ファイルとは異なる名前にする場合は、出力ファイルの名前を明示的に指定する必要があります。入力ファイル strings.txt からリソース ファイル MyApp.resources を作成するコマンドを次に示します。
resgen strings.txt MyApp.resources
入力ファイル strings.resources からテキスト ファイル strings.txt を作成するコマンドを次に示します。この種類の変換は、文字列のみを含む .resources ファイルについてのみ実行してください。オブジェクト参照を .txt ファイルに書き込むことはできません。
resgen strings.resources strings.txt
Resgen.exe は、ResourceWriter クラスによって実装されるメソッドをラップすることにより、.resx ファイルを .resources ファイルに変換します。Resgen.exe は ResourceReader もラップします。これにより、.resources ファイルを .resx ファイルに戻すツールも使用できるようになります。
入力ファイル items.resx からリソース ファイル items.resources を作成する Resgen.exe コマンドを次に示します。
resgen items.resx
入力ファイル items.resources から .resx ファイル items.resx を作成するコマンドを次に示します。.resx ファイルから .resources ファイルへの変換では、すべてのオブジェクトが保持されます。
resgen items.resources items.resx
メモ : |
---|
何らかの理由により Resgen.exe が失敗した場合は、値 –1 が返されます。 |