¿Qué es el formato de archivo SUO?
Un archivo .suo almacena el estado personal del IDE para una solución de Visual Studio: los ajustes que pertenecen a un usuario específico en una máquina específica, no a la solución en sí. Cuando abre una solución, Visual Studio registra el diseño de su editor, qué documentos están abiertos y dónde está posicionado su cursor, la configuración de compilación activa (Debug o Release), las ubicaciones de los puntos de interrupción, el historial de Buscar/Reemplazar y la disposición de las ventanas de herramientas en el archivo .suo junto al archivo de solución .sln.
El formato es un contenedor de almacenamiento estructurado binario OLE2 Compound File Binary (CFBF), el mismo contenedor utilizado por los archivos heredados .doc y .xls. Cada paquete instalado de Visual Studio escribe su propio flujo con nombre en el archivo compuesto para persistir su estado. La firma mágica de ocho bytes D0 CF 11 E0 A1 B1 1A E1 es compartida por todos los archivos OLE2/CFBF; los nombres de flujo internos como SolutionConfiguration y TaskListOptions lo identifican como un .suo.
Debido a que los archivos .suo son por usuario y por máquina, nunca deben incluirse en el control de versiones; agregue *.suo a su .gitignore. Si el IDE se comporta de manera errática (configuraciones de compilación incorrectas, puntos de interrupción faltantes), eliminar el .suo es el primer paso estándar para la resolución de problemas; Visual Studio lo recrea automáticamente en el siguiente inicio. El archivo está marcado como oculto en el sistema de archivos.
A partir de Visual Studio 2015, Microsoft comenzó a migrar este estado a una carpeta oculta .vs\ junto a la solución. Visual Studio 2017 y versiones posteriores ya no crean un archivo .suo monolítico; los datos equivalentes residen en .vs\{solution-name}\v15\ como archivos binarios y JSON granulares. La extensión .suo es efectivamente heredada para cualquier proyecto abierto en VS 2017 o más reciente.
Seguridad y protección
RIESGO: LOWLos archivos SUO son almacenes de datos binarios pasivos; no representan un riesgo de ejecución por sí mismos. Pueden filtrar datos específicos del desarrollador: rutas de archivos en la máquina local, estructura del proyecto y configuraciones de extensiones. Por esta razón, no deben compartirse públicamente (agregue *.suo a .gitignore). Un archivo CFBF malintencionado podría, en teoría, explotar un error del analizador CFBF en Visual Studio, pero este es un riesgo muy teórico para los archivos .suo recibidos de fuentes desconocidas.
Detalles del formato
en pocas palabrasProgramas que abren archivos SUO
Detalles técnicos
especificación profunda| Formato de contenedor | Almacenamiento estructurado OLE2 Compound File Binary Format (CFBF) |
| Bytes mágicos | D0 CF 11 E0 A1 B1 1A E1 en el desplazamiento 0 (firma OLE2 compartida) |
| Codificación | Binario, little-endian |
| Flujos internos | Flujos CFBF con nombre por paquete de Visual Studio, identificados por nombres derivados de GUID |
| Estado almacenado | Documentos abiertos y posiciones del cursor, diseño del editor, puntos de interrupción, configuración de compilación activa, historial de Buscar/Reemplazar, ajustes específicos de extensiones |
| Tamaño de archivo típico | 5 KB - 5 MB (crece con el número de archivos abiertos, puntos de interrupción y extensiones) |
| Atributo del sistema de archivos | Marcado como oculto; almacenado junto al archivo .sln en la raíz de la solución |
| Control de código fuente | Debe excluirse del VCS; agregue *.suo a .gitignore |
| Recreación automática | Regenerado automáticamente por Visual Studio cuando se elimina; la eliminación es un paso seguro para la resolución de problemas |
| Tamaño de sector CFBF | Sectores de 512 bytes (formato CFBF v3) |
| Aislamiento de flujos | Cada paquete o extensión de VS instalado escribe su propio flujo con nombre aislado |
| Estado de legado | Reemplazado por la carpeta oculta .vs (VS 2015+); no creado por VS 2017 y posteriores |
| SO asociado | Windows |
| Recuperación de corrupción | Eliminar el .suo y volver a abrir la solución es el primer paso estándar para un estado del IDE dañado |
| Lanzado | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Última versión | Visual Studio 2015 and earlier: binary CFBF .suo; Visual Studio 2015 also introduced a hidden .vs\ folder variant. Visual Studio 2017+ replaced the monolithic .suo with the hidden .vs\{solution}\v15\ directory containing granular JSON/binary files - the .suo extension is essentially legacy as of 2017. |
| Especificación | learn.microsoft.com |
Conversiones de SUO
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos SUO.