Compartir a través de


GenerateResource (Tarea)

Actualización: noviembre 2007

Convierte entre archivos .txt y .resx (formato de recursos basado en XML) y archivos .resources binarios de Common Language Runtime, que se pueden incrustar en un archivo ejecutable binario en tiempo de ejecución o compilar en ensamblados satélite. Esta tarea normalmente se utiliza para convertir archivos .txt o .resx en archivos .resource. La tarea GenerateResource es funcionalmente similar a resgen.exe.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea GenerateResource.

Parámetro

Descripción

FilesWritten

Parámetro de salida ITaskItem[] opcional.

Contiene los nombres de todos los archivos escritos en el disco. Esto incluye el archivo de la caché, si existe. Este parámetro es útil para las implementaciones de Clean.

OutputResources

Parámetro de salida ITaskItem[] opcional.

Especifica el nombre de los archivos generados, como los archivos .resources. Si no especifica un nombre, se utiliza el nombre del archivo de entrada coincidente, y el archivo .resources que se crea se coloca en el directorio que contiene el archivo de entrada.

PublicClass

Parámetro Boolean opcional.

Si true, crea una clase de recurso con nombre seguro como clase pública.

References

Parámetro String[] opcional.

Hace referencia a tipos de carga en archivos .resx. Los elementos de datos del archivo resx pueden tener un tipo de .NET. Cuando se lee el archivo .resx, se debe resolver esta situación. Normalmente, se resuelve correctamente utilizando reglas de carga de tipo estándar. Si proporciona los ensamblados en References, serán prioritarios.

Este parámetro no se requiere para los recursos con tipo seguro.

Sources

Parámetro ITaskItem[] requerido.

Especifica los elementos que se van a convertir. Los elementos pasados a este parámetro deben tener una de las extensiones de archivo siguientes:

  • .txt: Especifica la extensión para convertir un archivo de texto. Los archivos de texto sólo pueden contener recursos de cadena.

  • .resx: Especifica la extensión para convertir un archivo de recursos basado en XML.

  • .restext: Especifica el mismo formato que .txt. Esta extensión diferente es útil si desea distinguir claramente los archivos de código fuente que contienen recursos de otros archivos de código fuente en su proceso de compilación.

  • .resources: Especifica la extensión para convertir un archivo de recursos.

StateFile

Parámetro ITaskItem opcional.

Especifica la ruta de acceso a un archivo de la caché opcional que se utiliza para acelerar la comprobación de dependencias de vínculos en archivos de entrada .resx.

StronglyTypedClassName

Parámetro String opcional.

Especifica el nombre de clase para la clase de recurso con nombre seguro. Si no se especifica este parámetro, se utiliza el nombre base del archivo de recursos.

StronglyTypedFilename

Parámetro ITaskItem opcional.

Especifica el nombre de archivo para el archivo de código fuente. Si no se especifica este parámetro, el nombre de la clase se utiliza como nombre de archivo base, y la extensión depende del lenguaje. Por ejemplo: MyClass.cs.

StronglyTypedLanguage

Parámetro String opcional.

Especifica el lenguaje que se utilizará para generar el origen de clase del recurso con nombre seguro. Este parámetro debe coincidir exactamente con uno de los lenguajes utilizado por CodeDomProvider. Por ejemplo: VB o C#.

Cuando se pasa un valor a este parámetro, se indica a la tarea que genere recursos con nombre seguro.

StronglyTypedNamespace

Parámetro String opcional.

Especifica el espacio de nombres que se utilizará para el origen de clase generado para el recurso con nombre seguro. Si no se especifica este parámetro, cualquier recurso con nombre seguro se encontrará en el espacio de nombres global.

UseSourcePath

Parámetro Boolean opcional.

Si es true, especifica que el directorio del archivo de entrada se utilizará para resolver las rutas de acceso relativas.

Comentarios

Debido a que los archivos .resx pueden contener vínculos a otros archivos de recurso, no basta con simplemente comparar las marcas de hora de los archivos .resx y .resource para ver si los destinos están actualizados. En su lugar, la tarea GenerateResource sigue los vínculos en los archivos .resx y comprueba también las marcas de hora de los archivos vinculados. Esto significa que, por lo general, no debe utilizar los atributos Inputs y Outputs en el destino que contiene la tarea GenerateResource, puesto que podría causar que se omitiera cuando tendría que ejecutarse.

Ejemplo

El ejemplo siguiente utiliza la tarea GenerateResource para generar archivos .resources de los archivos especificados por la colección de elementos Resx.

<GenerateResource
    Sources="@(Resx)"
    OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
    <Output
        TaskParameter="OutputResources"
        ItemName="Resources"/>
</GenerateResource>

Vea también

Conceptos

Tareas de MSBuild

Otros recursos

Referencia de tareas de MSBuild