Qu'est-ce que le format de fichier SUO ?
Un fichier .suo stocke l'état personnel de l'IDE pour une solution Visual Studio - les paramètres qui appartiennent à un utilisateur spécifique sur une machine spécifique, et non à la solution elle-même. Lorsque vous ouvrez une solution, Visual Studio enregistre la disposition de votre éditeur, les documents ouverts et la position de votre curseur, la configuration de build active (Debug ou Release), l'emplacement des points d'arrêt, l'historique de Recherche/Remplacement et l'agencement des fenêtres d'outils dans le fichier .suo aux côtés du fichier de solution .sln.
Le format est un conteneur de stockage structuré binaire OLE2 Compound File Binary (CFBF) - le même conteneur utilisé par les anciens fichiers .doc et .xls. Chaque package Visual Studio installé écrit son propre flux nommé dans le fichier composé pour conserver son état. La signature magique de huit octets D0 CF 11 E0 A1 B1 1A E1 est partagée par tous les fichiers OLE2/CFBF ; les noms de flux internes tels que SolutionConfiguration et TaskListOptions l'identifient comme un .suo.
Parce que les fichiers .suo sont propres à l'utilisateur et à la machine, ils ne doivent jamais être validés dans le contrôle de version - ajoutez *.suo à votre .gitignore. Si l'IDE se comporte de manière erratique (mauvaises configs de build, points d'arrêt manquants), la suppression du .suo est la première étape standard de dépannage ; Visual Studio le recrée automatiquement au prochain lancement. Le fichier est marqué comme caché dans le système de fichiers.
À partir de Visual Studio 2015, Microsoft a commencé à migrer cet état dans un dossier caché .vs\ à côté de la solution. Visual Studio 2017 et les versions ultérieures ne créent plus de fichier .suo monolithique ; les données équivalentes résident dans .vs\{solution-name}\v15\ sous forme de fichiers JSON et binaires granulaires. L'extension .suo est effectivement héritée pour tout projet ouvert dans VS 2017 ou plus récent.
Sécurité et sûreté
RISQUE : LOWLes fichiers SUO sont des magasins de données binaires passifs - ils ne présentent aucun risque d'exécution en eux-mêmes. Ils peuvent divulguer des données spécifiques au développeur : chemins de fichiers sur la machine locale, structure du projet et configurations d'extensions. Pour cette raison, ils ne doivent pas être partagés publiquement (ajoutez *.suo au .gitignore). Un fichier CFBF malveillant pourrait en théorie exploiter un bogue de l'analyseur CFBF dans Visual Studio, mais il s'agit d'un risque très théorique pour les fichiers .suo reçus de sources inconnues.
Détails du format
en brefProgrammes qui ouvrent les fichiers SUO
Détails techniques
spécifications approfondies| Format de conteneur | Stockage structuré OLE2 Compound File Binary Format (CFBF) |
| Octets magiques | D0 CF 11 E0 A1 B1 1A E1 à l'offset 0 (signature OLE2 partagée) |
| Encodage | Binaire, petit-boutiste (little-endian) |
| Flux internes | Flux CFBF nommés par package Visual Studio, identifiés par des noms dérivés de GUID |
| État stocké | Documents ouverts et positions du curseur, disposition de l'éditeur, points d'arrêt, configuration de build active, historique de Recherche/Remplacement, paramètres spécifiques aux extensions |
| Taille de fichier typique | 5 Ko - 5 Mo (augmente avec le nombre de fichiers ouverts, de points d'arrêt et d'extensions) |
| Attribut du système de fichiers | Marqué caché ; stocké à côté du fichier .sln à la racine de la solution |
| Contrôle de source | Doit être exclu du VCS ; ajoutez *.suo au .gitignore |
| Auto-récréation | Régénéré automatiquement par Visual Studio lorsqu'il est supprimé ; la suppression est une étape de dépannage sûre |
| Taille de secteur CFBF | Secteurs de 512 octets (format CFBF v3) |
| Isolation des flux | Chaque package ou extension VS installé écrit son propre flux nommé isolé |
| Statut hérité | Remplacé par le dossier caché .vs (VS 2015+) ; non créé par VS 2017 et versions ultérieures |
| OS associé | Windows |
| Récupération après corruption | Supprimer le .suo et rouvrir la solution est la première étape standard pour un état d'IDE corrompu |
| Publié | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Dernière version | 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. |
| Spécification | learn.microsoft.com |
Conversions SUO
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers SUO.