Crear archivos de recursos

Actualización: noviembre 2007

La biblioteca de clases base de .NET Framework proporciona varias clases en el espacio de nombres System.Resources para ayudar a crear y manipular los recursos de las aplicaciones. Para obtener una descripción detallada de cómo utilizar cada clase, haga clic en el vínculo para ver el correspondiente tema de referencia.

Clase   

Descripción

Interfaz IResourceReader

Lee los recursos de una secuencia.

Interfaz IResourceWriter

Escribe los recursos en una secuencia.

Clase ResourceReader

Lee los recursos en formato de archivo de recursos binario predeterminado del motor en tiempo de ejecución. Se trata de una implementación predeterminada de la interfaz IResourceReader.

Clase ResourceWriter

Escribe los recursos en formato de archivo de recursos binario predeterminado del motor en tiempo de ejecución. Se trata de una implementación predeterminada de la interfaz IResourceWriter.

Clase ResXResourceReader

Permite recuperar los recursos creados a partir de los archivos .resx. Se trata de una implementación especializada de la interfaz IResourceReader.

Clase ResXResourceWriter

Permite crear un archivo .resx a partir de recursos especificados. Se trata de una implementación especializada de la interfaz IResourceWriter. Utilice el Generador de archivos de recursos (Resgen.exe) para convertir el archivo .resx al formato de archivo .resources.

Existen tres formas distintas de crear archivos de recursos. Si el recurso va a contener sólo datos de cadena, el método más sencillo consiste en crear manualmente un archivo de texto. Si los recursos van a contener objetos o una combinación de cadenas y objetos, es preciso crear un archivo .resx o un archivo .resources. Para obtener información sobre cada tipo de archivo, haga clic en el vínculo correspondiente.

Nota:

No utilice archivos de recursos para almacenar contraseñas, información relativa a la seguridad o datos privados.

Para poder escribir objetos almacenados en un archivo de recursos, los objetos deberán ser serializables. .Un código de confianza parcial puede deserializar tipos de .NET Framework como string e integer, y un grupo de tipos de formularios Windows Forms como Bitmap, Icon y Image. Para deserializar los demás tipos, el código que los llama debe tener concedidos SecurityPermission con el marcado SerializationFormatter especificado.

A los recursos marcados como privados se puede obtener acceso sólo en el ensamblado en el que están colocados. Dado que un ensamblado satélite no contiene código, los recursos privados de dicho ensamblado dejan de estar disponibles mediante cualquier mecanismo. Por tanto, los recursos en un ensamblado satélite siempre deben ser públicos de modo que se puede obtener acceso a ellos desde el ensamblado principal. Los recursos incrustados en el ensamblado principal son accesibles para dicho ensamblado, ya sea privado o público.

La aplicación no debe depender nunca de los recursos de un ensamblado creado por terceros y no incluido en la aplicación. La dependencia de los recursos de terceros puede generar errores en la aplicación ya que no existe ninguna garantía de que dichos recursos estén incluidos en una versión posterior o un service pack en contexto.

Se deben incrustar sólo los archivos .resources en los ensamblados del motor en tiempo de ejecución y los ensamblados satélite. El Generador de archivos de recursos (Resgen.exe) convierte los archivos de texto (.txt) y los archivos de recursos basados en XML (.resx) en archivos .resources ajustando los métodos implementados por las clases ResourceReader, ResourceWriter, ResXResourceReader y ResXResourceWriter. También se puede utilizar Resgen.exe para convertir de nuevo los archivos .resources en archivos .resx y .txt.

Microsoft Kit de desarrollo de software de Windows (SDK) incluye varios ejemplos que muestran cómo trabajar con los archivos .resource. Vea Recursos en aplicaciones, el ejemplo de localización en el Tutorial rápido de ASP.NET y Cómo: Recursos en el Tutorial rápido de tareas comunes.

Vea también

Conceptos

Recursos en aplicaciones

Empaquetar e implementar recursos

Referencia

System.Resources