O que é o formato de ficheiro RESX?
Um arquivo .resx é um Arquivo de Recurso XML .NET - o formato padrão para armazenar strings localizáveis, imagens, ícones e dados binários em projetos Microsoft .NET. O Visual Studio gera e gerencia arquivos .resx automaticamente como a contraparte legível por humanos e amigável ao controle de versão dos arquivos binários compilados .resources incorporados nos assemblies.
O formato é XML UTF-8 simples. Cada arquivo abre com um elemento <root> contendo uma seção <resheader> que declara a versão do esquema e o tipo de serializador, seguida por elementos <data> - cada um com um atributo name e um filho <value>. Os valores de string aparecem como texto simples; objetos binários (ícones, bitmaps, blobs arbitrários) são codificados em Base64 dentro de <value> com um atributo mimetype como application/x-microsoft.net.object.binary.base64.
Existem duas versões de esquema: ResX v1 (Visual Studio .NET 2002-2003, .NET 1.x) e ResX v2 (.NET 2.0+, 2005 em diante), que permanece atual. A versão ativa é declarada dentro de <resheader name="version">.
No momento da compilação, o ResGen.exe ou MSBuild compila o .resx em um arquivo binário .resources que é incorporado no assembly de saída. A localização depende de arquivos satélites específicos da cultura - por exemplo, Resources.fr.resx para francês. Para projetos Windows Runtime (UWP), o .resx é substituído pelo .resw; para localização em JavaScript, o .resjson assume seu lugar. No entanto, o .resx continua sendo o padrão ativo para projetos .NET Framework, WinForms e WPF através do .NET 9 e posteriores.
Segurança e proteção
RISCO: LOWArquivos .resx são XML simples e não podem ser executados por conta própria. O único risco indireto: dados binários incorporados (Base64) poderiam, teoricamente, carregar uma carga maliciosa que é ativada após o assembly ser construído e executado - mas isso exigiria que o desenvolvedor a incorporasse e executasse intencionalmente. Abrir um .resx em um editor de texto/XML é seguro.
Detalhes do formato
em resumo- RESW (Arquivo de recurso Windows Runtime) - Formato de recurso XML estruturalmente quase idêntico usado por aplicativos UWP/WinRT; compartilha a mesma estrutura de tags, mas usa uma raiz de esquema diferente.
Programas que abrem arquivos RESX
Detalhes técnicos
especificação profunda| Codificação | Texto XML UTF-8 |
| Elemento raiz | `<root>` contendo filhos `<resheader>` (metadados do esquema) e `<data>` (entrada de recurso) |
| Formato de recurso de string | Texto simples dentro do filho `<value>` de `<data name="key-name">` |
| Codificação de recurso binário | Codificado em Base64 dentro de `<value>` com um atributo `mimetype` identificando o tipo de objeto |
| Valores de mimetype binário | `application/x-microsoft.net.object.binary.base64`, `application/x-microsoft.net.object.bytearray.base64` |
| Versões do esquema | ResX v1 (.NET 1.x, 2002-2003) e ResX v2 (.NET 2.0+, 2005; atual); versão declarada em `<resheader name="version">` |
| Compilação de build | ResGen.exe ou MSBuild compila `.resx` → arquivo binário `.resources` incorporado no assembly de saída |
| Padrão de nomenclatura de localização | Arquivos satélites específicos da cultura nomeados `Resources.{culture-code}.resx` (ex: `Resources.fr.resx` para francês) |
| Tipos de recursos típicos | Strings localizadas, bitmaps, ícones, cursores, clipes de áudio, blobs binários arbitrários |
| Tamanho de arquivo típico | 1 KB - vários MB (escala com o número e tamanho dos recursos binários incorporados) |
| Tipo MIME | text/microsoft-resx |
| Ferramentas de build associadas | Designer de recursos do Visual Studio, MSBuild, ResGen.exe, `dotnet build` |
| Formatos sucessores | `.resw` para UWP/Windows Runtime (Windows 8+); `.resjson` para localização voltada a JavaScript; `.resx` permanece padrão para WinForms/WPF |
| Lançado | 2002 (.NET Framework 1.0 / Visual Studio .NET) |
| Versão mais recente | ResX schema 2.0 (introduced .NET Framework 2.0, 2005; still current) |
| Especificação | learn.microsoft.com |
Conversões de RESX
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos RESX.