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

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

Библиотека базовых классов .NET Framework содержит несколько классов в пространстве имен System.Resources Namespace, применяемых при создании ресурсов и работе с ними в приложениях. Для получения подробного описания правил использования каждого класса щелкните ссылку на соответствующий раздел справки.

Класс

Описание

Интерфейс IResourceReader

Считывает ресурсы из потока.

Интерфейс IResourceWriter

Записывает ресурсы в поток.

Класс ResourceReader

Считывает ресурсы в двоичном формате файла ресурсов, используемом средой выполнения по умолчанию. Этот класс — стандартная реализация интерфейса IResourceReader.

Класс ResourceWriter

Записывает ресурсы в двоичном формате файла ресурсов, используемом средой выполнения по умолчанию. Этот класс — стандартная реализация интерфейса IResourceWriter.

Класс ResXResourceReader

Предоставляет возможность извлекать ресурсы из файлов .resx. Это специализированная реализация интерфейса IResourceReader.

Класс ResxResourceWriter

Предоставляет возможность создавать файлы .resx из указанных ресурсов. Это специализированная реализация интерфейса IResourceWriter. Для преобразования файлов .resx в формат .resources следует использовать генератор файлов ресурсов (Resgen.exe).

Файлы ресурсов можно создавать тремя способами. Если ресурсы содержат только строковые данные, самый простой метод — вручную создать текстовый файл. Если ресурсы содержат объекты или сочетание строк и объектов, следует создать файл .resx или файл .resources. Для получения сведений о каждом из этих типов файлов щелкните соответствующую ссылку.

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

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

Для записи объектов в файл ресурсов необходимо, чтобы объекты были сериализуемыми. Такие типы данных .NET Framework, как строка, целое число и ряд типов Windows Forms — Bitmap, Iconи Image — могут быть десериализованы недостаточно надежным кодом. Для десериализации остальных типов данных требуется, чтобы вызывающему коду было предоставлено разрешение SecurityPermission с установленным флагом SerializationFormatter.

Ресурсы, отмеченные как закрытые, доступны только в сборке, в которой они расположены. Так как во вспомогательных сборках отсутствует код, закрытые для них ресурсы становятся полностью недоступными. Поэтому ресурсы, включенные во вспомогательные сборки, всегда должны быть открытыми, чтобы они были доступны из основной сборки. Ресурсы, включенные в основную сборку, всегда доступны из нее, независимо от того, являются ли они открытыми или закрытыми.

Приложение не должно зависеть от ресурсов из сборки, не созданной его разработчиком и не поставляемой в комплекте приложения. Зависимость от ресурсов сторонних разработчиков может сделать приложение неработоспособным, поскольку никто не гарантирует, что эти ресурсы будут представлены в следующей версии или пакете обновления.

В сборки общей среды исполнения и вспомогательные сборки следует включать только файлы .resources. Генератор файлов ресурсов (Resgen.exe) преобразует текстовые файлы (.txt) и основанные на XML файлы ресурсов (.resx) в файлы .resources, создавая оболочки для методов, реализованных классами ResourceReader, ResourceWriter, ResXResourceReader и ResXResourceWriter. Программу Resgen.exe можно использовать и для преобразования файлов .resources обратно в файлы .resx и .txt.

Microsoft SDK (пакет средств разработки программного обеспечения) для Windows содержит ряд примеров, которые показывают принципы работы с файлами .resources. См. разделы Ресурсы в приложениях, Примеры использования ASP.NET (Пример "Локализация") и Примеры решения типичных задач ("Инструкции: ресурсы").

См. также

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

Ресурсы в приложениях

Упаковка и развертывание ресурсов

Ссылки

System.Resources