Vad är filformatet SUO?
En .suo-fil lagrar det personliga IDE-tillståndet för en Visual Studio-lösning - inställningar som tillhör en specifik användare på en specifik maskin, inte själva lösningen. När du öppnar en lösning registrerar Visual Studio din layout i redigeraren, vilka dokument som är öppna och var din markör är placerad, den aktiva byggkonfigurationen (Debug eller Release), brytpunkter, sök/ersätt-historik och arrangemang av verktygsfönster i .suo-filen tillsammans med lösningsfilen .sln.
Formatet är en binär OLE2 Compound File Binary (CFBF) strukturerad lagringscontainer - samma container som används av äldre .doc- och .xls-filer. Varje installerat Visual Studio-paket skriver sin egen namngivna ström i den sammansatta filen för att bevara sitt tillstånd. Den åtta byte långa magiska signaturen D0 CF 11 E0 A1 B1 1A E1 delas av alla OLE2/CFBF-filer; de interna strömnamnen som SolutionConfiguration och TaskListOptions identifierar den som en .suo.
Eftersom .suo-filer är per användare och per maskin får de aldrig checkas in i versionshantering - lägg till *.suo i din .gitignore. Om IDE:n beter sig oberäkneligt (fel byggkonfigurationer, saknade brytpunkter) är radering av .suo-filen det vanliga första felsökningssteget; Visual Studio återskapar den automatiskt vid nästa start. Filen är markerad som dold i filsystemet.
Från och med Visual Studio 2015 började Microsoft migrera detta tillstånd till en dold .vs\-mapp bredvid lösningen. Visual Studio 2017 och senare skapar inte längre en monolitisk .suo-fil; motsvarande data lever i .vs\{solution-name}\v15\ som granulära JSON- och binärfiler. Filändelsen .suo är i praktiken föråldrad för alla projekt som öppnas i VS 2017 eller nyare.
Säkerhet & trygghet
RISK: LOWSUO-filer är passiva binära datalager - de utgör ingen exekveringsrisk i sig själva. De kan läcka utvecklarspecifik data: filsökvägar på den lokala maskinen, projektstruktur och konfigurationer för tillägg. Av denna anledning bör de inte delas offentligt (lägg till *.suo i .gitignore). En illvilligt utformad CFBF-fil skulle i teorin kunna utnyttja en bugg i CFBF-tolken i Visual Studio, men detta är en mycket teoretisk risk för .suo-filer som tas emot från okända källor.
Formatdetaljer
i ett nötskalProgram som öppnar SUO-filer
Tekniska detaljer
djup specifikation| Containerformat | OLE2 Compound File Binary Format (CFBF) strukturerad lagring |
| Magiska byte | D0 CF 11 E0 A1 B1 1A E1 vid offset 0 (delad OLE2-signatur) |
| Kodning | Binär, little-endian |
| Interna strömmar | Namngivna CFBF-strömmar per Visual Studio-paket, identifierade med GUID-baserade namn |
| Lagrat tillstånd | Öppna dokument och markörpositioner, layout i redigeraren, brytpunkter, aktiv byggkonfiguration, sök/ersätt-historik, tilläggsspecifika inställningar |
| Typisk filstorlek | 5 KB - 5 MB (växer med antal öppna filer, brytpunkter och tillägg) |
| Filsystemsattribut | Markerad som dold; lagras bredvid .sln-filen i lösningens rotmapp |
| Källkodshantering | Måste exkluderas från VCS; lägg till *.suo i .gitignore |
| Automatisk återskapning | Återskapas automatiskt av Visual Studio när den raderas; radering är ett säkert felsökningssteg |
| CFBF-sektorstorlek | 512-byte sektorer (CFBF v3-format) |
| Strömisolering | Varje installerat VS-paket eller tillägg skriver sin egen isolerade namngivna ström |
| Legacy-status | Ersatt av den dolda .vs-mappen (VS 2015+); skapas inte av VS 2017 och senare |
| Associerat OS | Windows |
| Återställning vid korruption | Att radera .suo och öppna lösningen igen är det vanliga första steget vid korrupt IDE-tillstånd |
| Släppt | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Senaste 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. |
| Specifikation | learn.microsoft.com |
SUO-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om SUO-filer.