次の方法で共有


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

更新 : 2007 年 11 月

ResourceWriter クラスは、.resources ファイルの作成専用にデザインされています。オブジェクトを保存できるのは、.resources ファイルと .resx ファイルだけです。また、ランタイム実行可能ファイルに埋め込んだり、コンパイルしてサテライト アセンブリにできるのは、.resources ファイル形式のリソース ファイルだけです。コードから直接 ResourceWriter クラスを使用するか、またはリソース ファイル ジェネレータ (Resgen.exe) を使用する方法で、.resources ファイルを作成できます。

zew6azb7.alert_note(ja-jp,VS.90).gifメモ :

パスワード、セキュリティの配慮が必要な情報、プライベートなデータなどの格納には、リソース ファイルを使用しないでください。

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 ファイルに戻すツールも使用できるようになります。

zew6azb7.alert_note(ja-jp,VS.90).gifメモ :

コメントは、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
zew6azb7.alert_note(ja-jp,VS.90).gifメモ :

何らかの理由により Resgen.exe が失敗した場合は、値 –1 が返されます。

参照

概念

リソース ファイルの作成

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

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

参照

リソース ファイル ジェネレータ (Resgen.exe)