.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 (リソース ファイル ジェネレーター)

概念

リソース ファイルの作成

テキスト ファイル形式のリソース

.Resx ファイル形式のリソース