Resgen.exe convertit les fichiers en encapsulant les méthodes implémentées par les quatre classes suivantes :
Notez qu'un fichier .resx créé par ResXResourceWriter ne peut pas être directement utilisé par une application .NET Framework. Avant d'ajouter ce fichier à votre application, exécutez-le via Resgen.exe pour le convertir en fichier .resources. Pour plus d'informations sur l'implémentation de ces classes dans votre code, consultez leurs rubriques de référence respectives.
Pour que Resgen.exe puisse analyser votre entrée, il est primordial que vos fichiers .txt et .resx suivent le format correct.
Les fichiers .txt ne peuvent comporter que des ressources de type chaîne. Les ressources de type chaîne s'avèrent utiles lorsque vous écrivez une application dont les chaînes doivent être traduites en plusieurs langues. Vous pouvez, par exemple, régionaliser les chaînes de menus à l'aide de la ressource de type chaîne appropriée. Resgen.exe lit les fichiers texte comportant les paires nom/valeur, où le nom est une chaîne décrivant la ressource et la valeur la chaîne de ressource elle-même. Vous devez spécifier chaque paire nom/valeur sur une ligne distincte, de la façon suivante :
Notez que les chaînes vides sont autorisées dans les fichiers texte. Par exemple :
Resgen.exe recherche d'éventuels doublons de noms de ressources dans le fichier texte. Si le fichier texte contient des noms de ressources en double, Resgen.exe émet un avertissement et ignore les noms en double. Pour plus d'informations sur le format de fichier texte, consultez Ressources dans un fichier au format texte.
Les fichiers de ressources au format .resx contiennent des entrées XML. De même que pour les fichiers .txt, vous pouvez spécifier des ressources de type chaîne dans ces entrées XML. Le principal avantage des fichiers .resx par rapport aux fichiers .txt est que vous pouvez aussi spécifier ou incorporer des objets. Lorsque vous affichez un fichier .resx, vous pouvez en fait consulter la forme binaire d'un objet incorporé (une image, par exemple) si ces informations binaires sont intégrées au manifeste des ressources. Vous pouvez ouvrir un fichier .resx comme un fichier .txt avec un éditeur de texte (tel que le Bloc-notes ou Microsoft Word) et écrire, analyser et manipuler son contenu. Notez que pour y parvenir, une bonne connaissance des balises XML et de la structure des fichiers .resx s'avère nécessaire. Pour plus d'informations sur le format de fichier .resx, consultez Ressources dans un fichier au format .Resx.
Pour créer un fichier .resources comportant des objets sans chaînes incorporés, vous devez utiliser Resgen.exe pour convertir un fichier .resx contenant des objets ou pour ajouter les ressources des objets à votre fichier directement à partir du code, à l'aide des méthodes fournies par la classe ResourceWriter Si vous utilisez Resgen.exe pour convertir un fichier .resources contenant des objets en fichier .txt, toutes les ressources de type chaîne seront converties correctement, mais les types de données des objets sans chaînes seront également écrits dans le fichier sous forme de chaînes. Vous perdrez alors les objets incorporés au cours de la conversion et Resgen.exe signalera qu'une erreur s'est produite lors de la récupération des ressources.
La version 2.0 du .NET Framework prend en charge des ressources fortement typées. La prise en charge de ressources fortement typées encapsule l'accès aux ressources en créant des classes qui contiennent un jeu de propriétés en lecture seule (get) statiques, proposant ainsi un moyen de consommer des ressources autres que l'utilisation directe des méthodes de la classe ResourceManager. Les fonctionnalités de base sont fournies par l'option de ligne de commande /str dans Resgen.exe, qui encapsule les fonctionnalités de la classe StronglyTypedResourceBuilder. Lorsque vous spécifiez l'option /str, la sortie de Resgen.exe est une classe qui contient des propriétés fortement typées qui correspondent aux ressources qui sont référencées dans le paramètre d'entrée. Cette classe propose un accès en lecture seule fortement typé aux ressources qui sont disponibles dans le fichier traité.
L'outil Outil Resource File Generator Tool (Resgen.exe) vous permet de créer des fichiers .resources ainsi que des wrappers fortement typés pour accéder à ces fichiers .resources. Lorsque vous créez un wrapper fortement typé, le nom de votre fichier .resources doit correspondre à l'espace de noms et au nom de classe (par exemple, MyNamespace.MyClass.resources) du code généré. Toutefois, l'outil Outil Resource File Generator Tool (Resgen.exe) vous permet de spécifier des options qui produisent un fichier .resources avec un nom incompatible. Pour contourner ce problème, renommez les fichiers de sortie nommés de manière incompatible après que l'outil Outil Resource File Generator Tool (Resgen.exe) les a générés.
Une fois la création des fichiers .resources à l'aide de Resgen.exe terminée, utilisez l'outil Assembly Linker (Al.exe) soit pour incorporer les ressources à un exécutable binaire runtime, soit pour les compiler dans des assemblys satellites.
Remarque |
|---|
| Si Resgen.exe échoue pour une raison quelconque, la valeur de retour est -1. |
Remarque |
|---|
| Resgen.exe n'accepte pas un nom de fichier .resx qui contient des espaces lors de la génération d'une classe de ressource fortement typée. Il remplace tous les caractères non valides par un trait de soulignement (« _ »). Pour plus d'informations, consultez VerifyResourceName. |