Qu'est-ce que le format de fichier RESX ?
Un fichier .resx est un fichier de ressources XML .NET - le format standard pour stocker des chaînes localisables, des images, des icônes et des données binaires dans les projets Microsoft .NET. Visual Studio génère et gère automatiquement les fichiers .resx en tant que contrepartie lisible par l'homme et compatible avec le contrôle de version des fichiers binaires compilés .resources intégrés dans les assemblys.
Le format est du XML UTF-8 brut. Chaque fichier s'ouvre par un élément <root> contenant une section <resheader> qui déclare la version du schéma et le type de sérialiseur, suivie d'éléments <data> - chacun avec un attribut name et un enfant <value>. Les valeurs de chaîne apparaissent en texte brut ; les objets binaires (icônes, bitmaps, blobs arbitraires) sont encodés en Base64 à l'intérieur de <value> avec un attribut mimetype tel que application/x-microsoft.net.object.binary.base64.
Deux versions de schéma existent : ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) et ResX v2 (.NET 2.0+, à partir de 2005), qui reste la version actuelle. La version active est déclarée à l'intérieur de <resheader name="version">.
Au moment de la compilation, ResGen.exe ou MSBuild compile le .resx en un fichier binaire .resources qui est incorporé dans l'assembly de sortie. La localisation repose sur des fichiers satellites spécifiques à la culture - par exemple, Resources.fr.resx pour le français. Pour les projets Windows Runtime (UWP), le .resx est remplacé par .resw ; pour la localisation JavaScript, .resjson prend sa place. Cependant, le .resx reste la norme active pour les projets .NET Framework, WinForms et WPF jusqu'à .NET 9 et au-delà.
Sécurité et sûreté
RISQUE : LOWLes fichiers .resx sont du XML brut et ne peuvent pas s'exécuter d'eux-mêmes. Le seul risque indirect : les données binaires intégrées (Base64) pourraient théoriquement transporter une charge utile malveillante qui est activée après la construction et l'exécution de l'assembly - mais cela nécessite que le développeur l'intègre et l'exécute intentionnellement. L'ouverture d'un .resx dans un éditeur de texte/XML est sûre.
Détails du format
en bref- RESW (Fichier de ressources Windows Runtime) - Format de ressource XML structurellement presque identique utilisé par les applications UWP/WinRT ; partage la même structure de balises mais utilise une racine de schéma différente.
Programmes qui ouvrent les fichiers RESX
Détails techniques
spécifications approfondies| Encodage | Texte XML UTF-8 |
| Élément racine | `<root>` contenant des enfants `<resheader>` (métadonnées du schéma) et `<data>` (entrée de ressource) |
| Format des ressources de chaîne | Texte brut à l'intérieur de l'enfant `<value>` de `<data name="nom-de-clé">` |
| Encodage des ressources binaires | Encodé en Base64 à l'intérieur de `<value>` avec un attribut `mimetype` identifiant le type d'objet |
| Valeurs mimetype binaires | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Versions du schéma | ResX v1 (.NET 1.x, 2002-2003) et ResX v2 (.NET 2.0+, 2005 ; actuel) ; version déclarée dans `<resheader name="version">` |
| Compilation | ResGen.exe ou MSBuild compile `.resx` → fichier binaire `.resources` intégré dans l'assembly de sortie |
| Modèle de nommage pour la localisation | Fichiers satellites spécifiques à la culture nommés `Resources.{code-culture}.resx` (ex: `Resources.fr.resx` pour le français) |
| Types de ressources typiques | Chaînes localisées, bitmaps, icônes, curseurs, clips audio, blobs binaires arbitraires |
| Taille de fichier typique | 1 Ko - plusieurs Mo (varie selon le nombre et la taille des ressources binaires intégrées) |
| Type MIME | text/microsoft-resx |
| Outils de construction associés | Concepteur de ressources Visual Studio, MSBuild, ResGen.exe, `dotnet build` |
| Formats successeurs | `.resw` pour UWP/Windows Runtime (Windows 8+) ; `.resjson` pour la localisation ciblant JavaScript ; `.resx` reste le standard pour WinForms/WPF |
| Publié | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Dernière version | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Spécification | learn.microsoft.com |
Conversions RESX
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers RESX.