GenerateResource, tâche

Mise à jour : novembre 2007

Effectue la conversion entre des fichiers texte et .resx (format de ressources XML) et des fichiers .resources binaires du Common Language Runtime qui peuvent être incorporés dans un exécutable binaire runtime ou compilés en assemblys satellites. Cette tâche est généralement utilisée pour convertir des fichiers .txt ou .resx en fichiers .resource. La tâche GenerateResource est similaire, d'un point de vue fonctionnel, à resgen.exe.

Paramètres

Le tableau suivant décrit les paramètres de la tâche GenerateResource.

Paramètre

Description

FilesWritten

Paramètre de sortie ITaskItem[] facultatif.

Contient les noms de tous les fichiers écrits sur le disque. Cela inclut le fichier cache, le cas échéant. Ce paramètre est utile pour les implémentations de Clean.

OutputResources

Paramètre de sortie ITaskItem[] facultatif.

Spécifie le nom des fichiers générés, par exemple des fichiers .resources. Si vous ne spécifiez pas de nom, le nom du fichier d'entrée correspondant est utilisé et le fichier .resources créé est placé dans le répertoire qui contient le fichier d'entrée.

PublicClass

Paramètre Boolean facultatif.

Si la valeur est true, crée un type de ressources fortement typé comme classe public.

References

Paramètre String[] facultatif.

Références à partir desquelles charger les types dans des fichiers .resx. Les éléments de donnée des fichiers .resx peuvent avoir un type .NET. Lors de la lecture du fichier .resx, il doit être résolu. En général, il est possible de le résoudre à l'aide de règles de chargement de type standard. Si vous fournissez des assemblys dans References, ils sont prioritaires.

Ce paramètre n'est pas obligatoire pour les ressources fortement typées.

Sources

Paramètre ITaskItem[] obligatoire.

Spécifie les éléments à convertir. Les éléments passés à ce paramètre doivent avoir l'une des extensions de fichier suivantes :

  • .txt: Spécifie l'extension d'un fichier texte à convertir. Les fichiers .txt ne peuvent comporter que des ressources chaîne.

  • .resx: Spécifie l'extension d'un fichier de ressources XML à convertir.

  • .restext: Spécifie le même format que .txt. Cette autre extension est utile si vous souhaitez établir une distinction précise entre les fichiers sources qui contiennent des ressources et d'autres fichiers sources dans votre processus de génération.

  • .resources: Spécifie l'extension d'un fichier de ressources à convertir.

StateFile

Paramètre ITaskItem facultatif.

Spécifie le chemin d'accès à un fichier cache facultatif qui est utilisé pour accélérer le contrôle de dépendance des liens dans les fichiers d'entrée .resx.

StronglyTypedClassName

Paramètre String facultatif.

Spécifie le nom de classe pour la classe de ressources fortement typées. Si ce paramètre n'est pas spécifié, le nom de base du fichier de ressources est utilisé.

StronglyTypedFilename

Paramètre ITaskItem facultatif.

Spécifie le nom de fichier du fichier source. Si ce paramètre n'est pas spécifié, le nom de la classe est utilisé comme nom de fichier de base, avec une extension différente en fonction du langage. Par exemple : MyClass.cs.

StronglyTypedLanguage

Paramètre String facultatif.

Spécifie le langage à utiliser lors de la génération de la source de classe pour la ressource fortement typée. Ce paramètre doit correspondre exactement à l'un des langages utilisé par CodeDomProvider. Par exemple : VB ou C#.

En passant une valeur à ce paramètre, vous indiquez à la tâche de générer des ressources fortement typées.

StronglyTypedNamespace

Paramètre String facultatif.

Spécifie l'espace de noms à utiliser pour la source de classe générée pour la ressource fortement typée. Si ce paramètre n'est pas spécifié, toutes les ressources fortement typées sont dans l'espace de noms global.

UseSourcePath

Paramètre Boolean facultatif.

Si la valeur est true, indique que le répertoire du fichier d'entrée doit être utilisé pour résoudre des chemins d'accès de fichier relatifs.

Notes

Dans la mesure où les fichiers .resx peuvent contenir des liens vers d'autres fichiers de ressources, il ne suffit pas de comparer simplement des horodatages de fichiers .resx et .resource pour voir si les sorties sont à jour. Au lieu de cela, la tâche GenerateResource suit les liens figurant dans les fichiers .resx et vérifie aussi les horodatages des fichiers liés. Cela signifie que vous ne devez généralement pas utiliser les attributs Inputs et Outputs sur la cible contenant la tâche GenerateResource. En effet, il est possible qu'elle soit ignorée alors qu'elle doit être en réalité exécutée.

Exemple

L'exemple suivant utilise la tâche GenerateResource pour générer des fichiers .resources à partir des fichiers spécifiés par la collection d'éléments Resx.

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

Voir aussi

Concepts

Tâches MSBuild

Autres ressources

Référence des tâches MSBuild