.Resources ファイル形式のリソース
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 が返されます。
参照
参照
Resgen.exe (リソース ファイル ジェネレーター)