Crear archivos de recursos
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 |
---|---|
Lee los recursos de una secuencia. |
|
Escribe los recursos en una secuencia. |
|
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. |
|
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. |
|
Permite recuperar los recursos creados a partir de los archivos .resx. Se trata de una implementación especializada de la interfaz IResourceReader. |
|
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. Los tipos de .NET Framework como string e integer, así como un grupo de tipos de formularios Windows Forms, como Bitmap, Icon e Image se pueden deserializar mediante código de confianza parcial. En el caso de los demás tipos que se van a deserializar, al código que les llama se le ha de conceder SecurityPermission especificando el indicador SerializationFormatter.
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 .NET Framework 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.