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 :
|
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>