Wat is het RESX-bestandsformaat?
Een .resx-bestand is een .NET XML-resourcebestand - het standaardformaat voor het opslaan van lokaliseerbare tekenreeksen, afbeeldingen, pictogrammen en binaire gegevens in Microsoft .NET-projecten. Visual Studio genereert en beheert .resx-bestanden automatisch als de menselijk leesbare, bronbeheer-vriendelijke tegenhanger van de gecompileerde binaire .resources-bestanden die in assemblies zijn ingebed.
Het formaat is platte UTF-8 XML. Elk bestand begint met een <root>-element dat een <resheader>-sectie bevat waarin de schemaversie en het serialisatietype worden gedeclareerd, gevolgd door <data>-elementen - elk met een name-attribuut en een <value>-onderliggend element. Tekenreekswaarden verschijnen als platte tekst; binaire objecten (pictogrammen, bitmaps, willekeurige blobs) zijn Base64-gecodeerd binnen <value> met een mimetype-attribuut zoals application/x-microsoft.net.object.binary.base64.
Er bestaan twee schemaversies: ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) en ResX v2 (.NET 2.0+, vanaf 2005), die de huidige standaard blijft. De actieve versie wordt gedeclareerd binnen <resheader name="version">.
Tijdens het bouwen compileert ResGen.exe of MSBuild de .resx naar een binair .resources-bestand dat wordt ingebed in de uitvoer-assembly. Lokalisatie is afhankelijk van cultuurspecifieke satellite-bestanden - bijvoorbeeld Resources.fr.resx voor Frans. Voor Windows Runtime (UWP)-projecten is .resx vervangen door .resw; voor JavaScript-lokalisatie neemt .resjson de plaats in. Echter, .resx blijft de actieve standaard voor .NET Framework, WinForms en WPF-projecten tot en met .NET 9 en verder.
Beveiliging & veiligheid
RISICO: LOW.resx-bestanden zijn platte XML en kunnen niet uit zichzelf worden uitgevoerd. Het enige indirecte risico: ingebedde binaire gegevens (Base64) zouden theoretisch een kwaadaardige payload kunnen bevatten die wordt geactiveerd nadat de assembly is gebouwd en uitgevoerd - maar dit vereist dat de ontwikkelaar deze opzettelijk insluit en uitvoert. Het openen van een .resx in een tekst- of XML-editor is veilig.
Formaatdetails
in een notendop- RESW (Windows Runtime resourcebestand) - Structureel bijna identiek XML-resourceformaat gebruikt door UWP/WinRT-apps; deelt dezelfde tagstructuur maar gebruikt een andere schema-root.
Programma's die RESX-bestanden openen
Technische details
diepe specificaties| Codering | UTF-8 XML-tekst |
| Root-element | `<root>` met `<resheader>` (schema-metadata) en `<data>` (resource-item) onderliggende elementen |
| Formaat tekenreeks-resource | Platte tekst binnen `<value>` onderliggend element van `<data name="key-name">` |
| Codering binaire resource | Base64-gecodeerd binnen `<value>` met een `mimetype`-attribuut dat het objecttype identificeert |
| Binaire mimetype-waarden | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Schemaversies | ResX v1 (.NET 1.x, 2002-2003) en ResX v2 (.NET 2.0+, 2005; huidig); versie gedeclareerd in `<resheader name="version">` |
| Build-compilatie | ResGen.exe of MSBuild compileert `.resx` → binair `.resources`-bestand ingebed in de uitvoer-assembly |
| Naampatroon lokalisatie | Cultuurspecifieke satellite-bestanden genaamd `Resources.{culture-code}.resx` (bijv. `Resources.fr.resx` voor Frans) |
| Typische resource-typen | Gelokaliseerde tekenreeksen, bitmaps, pictogrammen, cursors, audiofragmenten, willekeurige binaire blobs |
| Typische bestandsgrootte | 1 KB - diverse MB (schaalt met het aantal en de grootte van ingebedde binaire resources) |
| MIME-type | text/microsoft-resx |
| Bijbehorende build-tools | Visual Studio resource designer, MSBuild, ResGen.exe, `dotnet build` |
| Opvolgende formaten | `.resw` voor UWP/Windows Runtime (Windows 8+); `.resjson` voor op JavaScript gerichte lokalisatie; `.resx` blijft de standaard voor WinForms/WPF |
| Uitgebracht | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Laatste versie | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Specificatie | learn.microsoft.com |
RESX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over RESX-bestanden.