Hva er RESX-filformatet?
En .resx-fil er en .NET XML-ressursfil - standardformatet for lagring av lokaliserbare strenger, bilder, ikoner og binærdata i Microsoft .NET-prosjekter. Visual Studio genererer og administrerer .resx-filer automatisk som det menneskelig lesbare og versjonskontroll-vennlige motstykket til de kompilerte binære .resources-filene som bygges inn i samlinger (assemblies).
Formatet er ren UTF-8 XML. Hver fil starter med et <root>-element som inneholder en <resheader>-seksjon som deklarerer skjemaversjon og serialiseringstype, etterfulgt av <data>-elementer - hver med et name-attributt og et <value>-underelement. Strengverdier vises som ren tekst; binære objekter (ikoner, punktgrafikk, vilkårlige blobs) er Base64-kodet i <value> med et mimetype-attributt som for eksempel application/x-microsoft.net.object.binary.base64.
Det finnes to skjemaversjoner: ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) og ResX v2 (.NET 2.0+, 2005 og utover), som fortsatt er gjeldende. Den aktive versjonen deklareres inne i <resheader name="version">.
Ved bygging kompilerer ResGen.exe eller MSBuild .resx til en binær .resources-fil som bygges inn i utdata-samlingen. Lokalisering baserer seg på kulturspesifikke satellittfiler - for eksempel Resources.fr.resx for fransk. For Windows Runtime (UWP)-prosjekter er .resx erstattet av .resw; for JavaScript-lokalisering tar .resjson dens plass. Likevel forblir .resx den aktive standarden for .NET Framework, WinForms og WPF-prosjekter gjennom .NET 9 og videre.
Sikkerhet og trygghet
RISIKO: LOW.resx-filer er ren XML og kan ikke kjøres av seg selv. Den eneste indirekte risikoen: innebygde binærdata (Base64) kan teoretisk sett inneholde en skadelig nyttelast som aktiveres etter at assemblyen er bygget og kjørt - men dette krever at utvikleren bevisst bygger den inn og utfører den. Å åpne en .resx i en tekst- eller XML-editor er trygt.
Formatdetaljer
i et nøtteskall- RESW (Windows Runtime-ressursfil) - Strukturelt nesten identisk XML-ressursformat brukt av UWP/WinRT-apper; deler samme tag-struktur, men bruker en annen skjemarot.
Programmer som åpner RESX-filer
Tekniske detaljer
dyp spesifikasjon| Koding | UTF-8 XML-tekst |
| Rotelement | `<root>` som inneholder `<resheader>` (skjema-metadata) og `<data>` (ressursoppføring) som underelementer |
| Format for strengressurser | Ren tekst inne i `<value>`-underelementet til `<data name="key-name">` |
| Koding av binærressurser | Base64-kodet inne i `<value>` med et `mimetype`-attributt som identifiserer objekttypen |
| Binære mimetype-verdier | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Skjemaversjoner | ResX v1 (.NET 1.x, 2002-2003) og ResX v2 (.NET 2.0+, 2005; gjeldende); versjon deklarert i `<resheader name="version">` |
| Kompilering | ResGen.exe eller MSBuild kompilerer `.resx` → binær `.resources`-fil innebygd i utdata-samlingen |
| Navnemønster for lokalisering | Kulturspesifikke satellittfiler navngitt `Resources.{culture-code}.resx` (f.eks. `Resources.no.resx` for norsk) |
| Typiske ressurstyper | Lokaliserte strenger, punktgrafikk, ikoner, markører, lydklipp, vilkårlige binære blobs |
| Typisk filstørrelse | 1 KB - flere MB (skalerer med antall og størrelse på innebygde binære ressurser) |
| MIME-type | text/microsoft-resx |
| Tilknyttede byggverktøy | Visual Studio resource designer, MSBuild, ResGen.exe, `dotnet build` |
| Etterfølgende formater | `.resw` for UWP/Windows Runtime (Windows 8+); `.resjson` for JavaScript-målrettet lokalisering; `.resx` forblir standard for WinForms/WPF |
| Utgitt | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Siste versjon | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Spesifikasjon | learn.microsoft.com |
RESX-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om RESX-filer.