Was ist das SUO-Dateiformat?
Eine .suo-Datei speichert den persönlichen IDE-Status für eine Visual Studio-Lösung - die Einstellungen, die einem bestimmten Benutzer auf einem bestimmten Computer gehören, nicht der Lösung selbst. Wenn Sie eine Lösung öffnen, zeichnet Visual Studio Ihr Editor-Layout, die geöffneten Dokumente und Cursorpositionen, die aktive Build-Konfiguration (Debug oder Release), Haltepunkte, den Suchen/Ersetzen-Verlauf und die Anordnung der Werkzeugfenster in der .suo-Datei neben der .sln-Lösungsdatei auf.
Das Format ist ein binärer OLE2 Compound File Binary (CFBF) Structured-Storage-Container - derselbe Container, der auch von älteren .doc- und .xls-Dateien verwendet wird. Jedes installierte Visual Studio-Paket schreibt seinen eigenen benannten Stream in die Verbunddatei, um seinen Status zu sichern. Die acht Byte lange Magic-Signatur D0 CF 11 E0 A1 B1 1A E1 wird von allen OLE2/CFBF-Dateien geteilt; die internen Stream-Namen wie SolutionConfiguration und TaskListOptions identifizieren sie als .suo.
Da .suo-Dateien benutzer- und maschinenspezifisch sind, dürfen sie niemals in die Versionsverwaltung übernommen werden - fügen Sie *.suo zu Ihrer .gitignore hinzu. Wenn sich die IDE fehlerhaft verhält (falsche Build-Konfigurationen, fehlende Haltepunkte), ist das Löschen der .suo-Datei der standardmäßige erste Schritt zur Fehlerbehebung; Visual Studio erstellt sie beim nächsten Start automatisch neu. Die Datei ist im Dateisystem als versteckt markiert.
Beginnend mit Visual Studio 2015 begann Microsoft, diesen Status in einen versteckten .vs\-Ordner neben der Lösung zu migrieren. Visual Studio 2017 und neuer erstellen keine monolithische .suo-Datei mehr; die entsprechenden Daten befinden sich in .vs\{solution-name}\v15\ als granulare JSON- und Binärdateien. Die Erweiterung .suo ist für jedes in VS 2017 oder neuer geöffnete Projekt praktisch ein Relikt.
Sicherheit
RISIKO: LOWSUO-Dateien sind passive binäre Datenspeicher - sie stellen an sich kein Ausführungsrisiko dar. Sie können entwicklerspezifische Daten preisgeben: Dateipfade auf dem lokalen Rechner, Projektstruktur und Konfigurationen von Erweiterungen. Aus diesem Grund sollten sie nicht öffentlich geteilt werden (fügen Sie *.suo zur .gitignore hinzu). Eine bösartig gestaltete CFBF-Datei könnte theoretisch einen Fehler im CFBF-Parser von Visual Studio ausnutzen, aber dies ist ein sehr theoretisches Risiko für .suo-Dateien aus unbekannten Quellen.
Formatdetails
kurz gefasstProgramme zum Öffnen von SUO-Dateien
Technische Details
technische Spezifikation| Container-Format | OLE2 Compound File Binary Format (CFBF) Structured Storage |
| Magic Bytes | D0 CF 11 E0 A1 B1 1A E1 bei Offset 0 (geteilte OLE2-Signatur) |
| Kodierung | Binär, Little-Endian |
| Interne Streams | Benannte CFBF-Streams pro Visual Studio-Paket, identifiziert durch von GUIDs abgeleitete Namen |
| Gespeicherter Status | Geöffnete Dokumente und Cursorpositionen, Editor-Layout, Haltepunkte, aktive Build-Konfiguration, Suchen/Ersetzen-Verlauf, erweiterungsspezifische Einstellungen |
| Typische Dateigröße | 5 KB - 5 MB (wächst mit der Anzahl der geöffneten Dateien, Haltepunkte und Erweiterungen) |
| Dateisystem-Attribut | Als versteckt markiert; gespeichert neben der .sln-Datei im Lösungs-Stammverzeichnis |
| Versionsverwaltung | Muss aus dem VCS ausgeschlossen werden; *.suo zur .gitignore hinzufügen |
| Automatische Neuerstellung | Wird von Visual Studio beim Löschen automatisch neu generiert; das Löschen ist ein sicherer Schritt zur Fehlerbehebung |
| CFBF-Sektorgröße | 512-Byte-Sektoren (CFBF v3-Format) |
| Stream-Isolierung | Jedes installierte VS-Paket oder jede Erweiterung schreibt seinen eigenen isolierten benannten Stream |
| Legacy-Status | Abgelöst durch den versteckten .vs-Ordner (VS 2015+); wird von VS 2017 und neuer nicht mehr erstellt |
| Zugehöriges Betriebssystem | Windows |
| Wiederherstellung bei Beschädigung | Das Löschen der .suo und das erneute Öffnen der Lösung ist der standardmäßige erste Schritt bei beschädigtem IDE-Status |
| Veröffentlicht | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Neueste 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. |
| Spezifikation | learn.microsoft.com |
SUO-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu SUO-Dateien.