Ресурсы в файле формата .Resources

Обновлен: Ноябрь 2007

Класс ResourceWriter предназначен специально для создания файлов .resources. Следует помнить, что объекты можно сохранять только в файлах ресурсов с расширением .resources или .resx. Только файл ресурсов в формате .resources можно включить в исполняемый файл или скомпилировать в виде вспомогательной сборки. Можно создавать файлы .resources непосредственно из кода с помощью класса ResourceWriter или использовать для этого генератор файлов ресурсов (Resgen.exe).

zew6azb7.alert_note(ru-ru,VS.90).gifПримечание.

Не следует использовать файлы ресурсов для хранения паролей, секретных сведений или личных данных.

Использование класса ResourceWriter

Для создания файла .resources непосредственно из кода можно использовать класс ResourceWriter. Сначала следует создать объект 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) преобразует файлы .txt в файлы .resources с применением оболочек методов, реализованных в классе ResourceWriter. Кроме того, Resgen.exe создает оболочку объекта ResourceReader, что позволяет с его помощью преобразовывать файлы .resources обратно в файлы .txt.

zew6azb7.alert_note(ru-ru,VS.90).gifПримечание.

При считывании текстового файла при помощи Resgen.exe примечания утрачиваются и не записываются в результирующий файл .resources или .resx.

Если в текстовом файле содержатся совпадающие имена ресурсов, Resgen.exe выведет предупреждение и пропустит совпадающие имена.

Следующая команда Resgen.exe создает файл ресурсов strings.resources из входного файла strings.txt.

resgen strings.txt

Если имя итогового файла должно отличаться от имени входного файла, необходимо явным образом указать имя итогового файла. Следующая команда создает файл ресурсов MyApp.resources из входного файла strings.txt.

resgen strings.txt MyApp.resources

Следующая команда создает текстовый файл strings.txt из входного файла strings.resources. Обратите внимание, что преобразования такого типа следует выполнять только с файлами .resources, которые содержат исключительно строки. В файл .txt не могут быть записаны ссылки на объекты.

resgen strings.resources strings.txt

Программа Resgen.exe преобразует файлы .resx в файлы .resources с применением оболочек методов, реализованных в классе ResourceWriter. Кроме того, Resgen.exe создает оболочку объекта ResourceReader, что позволяет с его помощью преобразовывать файлы .resources обратно в файлы .resx.

Следующая команда Resgen.exe создает файл ресурсов items.resources из входного файла items.resx.

resgen items.resx

Следующая команда создает файл .resx items.resx из входного файла items.resources. Обратите внимание, что при преобразовании файла .resx в файл .resources все объекты сохраняются.

resgen items.resources items.resx
zew6azb7.alert_note(ru-ru,VS.90).gifПримечание.

В случае любого сбоя Resgen.exe возвращается значение "–1".

См. также

Основные понятия

Создание файлов ресурсов

Ресурсы в формате текстового файла

Ресурсы в файле формата .Resx

Ссылки

Генератор файлов ресурсов (Resgen.exe)