Was ist das RESX-Dateiformat?
Eine .resx-Datei ist eine .NET XML-Ressourcendatei - das Standardformat zum Speichern lokalisierbarer Zeichenfolgen, Bilder, Symbole und Binärdaten in Microsoft .NET-Projekten. Visual Studio generiert und verwaltet .resx-Dateien automatisch als menschenlesbares, quellcodeverwaltung-freundliches Gegenstück zu den kompilierten binären .resources-Dateien, die in Assemblies eingebettet sind.
Das Format ist einfaches UTF-8 XML. Jede Datei beginnt mit einem <root>-Element, das einen <resheader>-Abschnitt enthält, der die Schemaversion und den Serialisierungstyp deklariert, gefolgt von <data>-Elementen - jedes mit einem name-Attribut und einem <value>-Kindelement. Zeichenfolgenwerte erscheinen als Klartext; Binärobjekte (Icons, Bitmaps, beliebige Blobs) sind innerhalb von <value> Base64-kodiert und mit einem mimetype-Attribut wie application/x-microsoft.net.object.binary.base64 versehen.
Es existieren zwei Schemaversionen: ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) und ResX v2 (.NET 2.0+, ab 2005), welche aktuell bleibt. Die aktive Version wird innerhalb von <resheader name="version"> deklariert.
Zur Build-Zeit kompiliert ResGen.exe oder MSBuild die .resx in eine binäre .resources-Datei, die in die Ausgabe-Assembly eingebettet wird. Die Lokalisierung basiert auf kulturspezifischen Satellitendateien - zum Beispiel Resources.fr.resx für Französisch. Für Windows Runtime (UWP)-Projekte wird .resx durch .resw ersetzt; für JavaScript-Lokalisierung tritt .resjson an seine Stelle. Dennoch bleibt .resx der aktive Standard für .NET Framework, WinForms und WPF-Projekte bis hin zu .NET 9 und darüber hinaus.
Sicherheit
RISIKO: LOW.resx-Dateien sind reines XML und können nicht von selbst ausgeführt werden. Das einzige indirekte Risiko: Eingebettete Binärdaten (Base64) könnten theoretisch eine schädliche Nutzlast enthalten, die aktiviert wird, nachdem die Assembly erstellt und ausgeführt wurde - dies erfordert jedoch, dass der Entwickler diese absichtlich einbettet und ausführt. Das Öffnen einer .resx in einem Text-/XML-Editor ist sicher.
Formatdetails
kurz gefasst- RESW (Windows Runtime Ressourcendatei) - Strukturell nahezu identisches XML-Ressourcenformat, das von UWP/WinRT-Apps verwendet wird; teilt die gleiche Tag-Struktur, verwendet aber eine andere Schema-Wurzel.
Programme zum Öffnen von RESX-Dateien
Technische Details
technische Spezifikation| Kodierung | UTF-8 XML-Text |
| Wurzelelement | `<root>` enthaltend `<resheader>` (Schema-Metadaten) und `<data>` (Ressourceneintrag) Kindelemente |
| Format für String-Ressourcen | Klartext innerhalb des `<value>`-Kindelements von `<data name="key-name">` |
| Kodierung binärer Ressourcen | Base64-kodiert innerhalb von `<value>` mit einem `mimetype`-Attribut zur Identifizierung des Objekttyps |
| Binäre Mimetype-Werte | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Schemaversionen | ResX v1 (.NET 1.x, 2002-2003) und ResX v2 (.NET 2.0+, 2005; aktuell); Version deklariert in `<resheader name="version">` |
| Build-Kompilierung | ResGen.exe oder MSBuild kompiliert `.resx` → binäre `.resources`-Datei, eingebettet in die Ausgabe-Assembly |
| Namensmuster für Lokalisierung | Kulturspezifische Satellitendateien benannt als `Resources.{culture-code}.resx` (z. B. `Resources.fr.resx` für Französisch) |
| Typische Ressourcentypen | Lokalisierte Zeichenfolgen, Bitmaps, Icons, Cursor, Audioclips, beliebige binäre Blobs |
| Typische Dateigröße | 1 KB - mehrere MB (skaliert mit Anzahl und Größe der eingebetteten binären Ressourcen) |
| MIME-Typ | text/microsoft-resx |
| Zugehörige Build-Tools | Visual Studio Ressourcen-Designer, MSBuild, ResGen.exe, `dotnet build` |
| Nachfolgeformate | `.resw` für UWP/Windows Runtime (Windows 8+); `.resjson` für JavaScript-basierte Lokalisierung; `.resx` bleibt Standard für WinForms/WPF |
| Veröffentlicht | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Neueste Version | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Spezifikation | learn.microsoft.com |
RESX-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu RESX-Dateien.