Che cos'è il formato di file RESX?
Un file .resx è un file di risorse XML .NET - il formato standard per la memorizzazione di stringhe localizzabili, immagini, icone e dati binari nei progetti Microsoft .NET. Visual Studio genera e gestisce i file .resx automaticamente come controparte leggibile dall'uomo e compatibile con il controllo del codice sorgente rispetto ai file binari compilati .resources incorporati negli assembly.
Il formato è XML UTF-8 semplice. Ogni file si apre con un elemento <root> contenente una sezione <resheader> che dichiara la versione dello schema e il tipo di serializzatore, seguita dagli elementi <data> - ciascuno con un attributo name e un figlio <value>. I valori delle stringhe appaiono come testo semplice; gli oggetti binari (icone, bitmap, blob arbitrari) sono codificati in Base64 all'interno di <value> con un attributo mimetype come application/x-microsoft.net.object.binary.base64.
Esistono due versioni dello schema: ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) e ResX v2 (.NET 2.0+, dal 2005 in poi), che rimane quella attuale. La versione attiva è dichiarata all'interno di <resheader name="version">.
Al momento della compilazione, ResGen.exe o MSBuild compila il file .resx in un file binario .resources che viene incorporato nell'assembly di output. La localizzazione si basa su file satellite specifici per la cultura - ad esempio, Resources.fr.resx per il francese. Per i progetti Windows Runtime (UWP), il formato .resx è sostituito da .resw; per la localizzazione JavaScript, viene utilizzato .resjson. Tuttavia, .resx rimane lo standard attivo per i progetti .NET Framework, WinForms e WPF attraverso .NET 9 e versioni successive.
Sicurezza e incolumità
RISCHIO: LOWI file .resx sono XML semplice e non possono essere eseguiti da soli. L'unico rischio indiretto: i dati binari incorporati (Base64) potrebbero teoricamente trasportare un payload malevolo che viene attivato dopo che l'assembly è stato compilato ed eseguito - ma ciò richiederebbe che lo sviluppatore lo incorpori ed esegua intenzionalmente. Aprire un file .resx in un editor di testo/XML è sicuro.
Dettagli del formato
in sintesi- RESW (File di risorse Windows Runtime) - Formato di risorse XML strutturalmente quasi identico utilizzato dalle app UWP/WinRT; condivide la stessa struttura di tag ma utilizza una radice di schema diversa.
Programmi che aprono file RESX
Dettagli tecnici
specifiche approfondite| Codifica | Testo XML UTF-8 |
| Elemento radice | `<root>` contenente i figli `<resheader>` (metadati dello schema) e `<data>` (voce della risorsa) |
| Formato risorsa stringa | Testo semplice all'interno del figlio `<value>` di `<data name="key-name">` |
| Codifica risorsa binaria | Codificato in Base64 all'interno di `<value>` con un attributo `mimetype` che identifica il tipo di oggetto |
| Valori mimetype binari | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Versioni dello schema | ResX v1 (.NET 1.x, 2002-2003) e ResX v2 (.NET 2.0+, 2005; attuale); versione dichiarata in `<resheader name="version">` |
| Compilazione build | ResGen.exe o MSBuild compila `.resx` → file binario `.resources` incorporato nell'assembly di output |
| Pattern di denominazione localizzazione | File satellite specifici per la cultura denominati `Resources.{culture-code}.resx` (es. `Resources.it.resx` per l'italiano) |
| Tipi di risorse tipici | Stringhe localizzate, bitmap, icone, cursori, clip audio, blob binari arbitrari |
| Dimensione tipica del file | 1 KB - diversi MB (varia in base al numero e alla dimensione delle risorse binarie incorporate) |
| Tipo MIME | text/microsoft-resx |
| Strumenti di build associati | Progettazione risorse di Visual Studio, MSBuild, ResGen.exe, `dotnet build` |
| Formati successori | `.resw` per UWP/Windows Runtime (Windows 8+); `.resjson` per localizzazione orientata a JavaScript; `.resx` rimane lo standard per WinForms/WPF |
| Rilasciato | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Ultima versione | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Specifica | learn.microsoft.com |
Conversioni RESX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file RESX.