Che cos'è il formato di file SUO?
Un file .suo memorizza lo stato personale dell'IDE per una soluzione Visual Studio - le impostazioni che appartengono a uno specifico utente su una specifica macchina, non alla soluzione stessa. Quando si apre una soluzione, Visual Studio registra il layout dell'editor, quali documenti sono aperti e dove è posizionato il cursore, la configurazione di build attiva (Debug o Release), le posizioni dei punti di interruzione, la cronologia di Trova/Sostituisci e la disposizione delle finestre degli strumenti nel file .suo insieme al file di soluzione .sln.
Il formato è un contenitore binario OLE2 Compound File Binary (CFBF) a archiviazione strutturata - lo stesso contenitore utilizzato dai vecchi file .doc e .xls. Ogni pacchetto Visual Studio installato scrive il proprio stream denominato all'interno del file composto per persistere il proprio stato. La firma magica a otto byte D0 CF 11 E0 A1 B1 1A E1 è condivisa da tutti i file OLE2/CFBF; i nomi degli stream interni come SolutionConfiguration e TaskListOptions lo identificano come un .suo.
Poiché i file .suo sono specifici per utente e per macchina, non devono mai essere inclusi nel controllo di versione - aggiungi *.suo al tuo .gitignore. Se l'IDE si comporta in modo anomalo (configurazioni di build errate, punti di interruzione mancanti), eliminare il .suo è il primo passo standard per la risoluzione dei problemi; Visual Studio lo ricrea automaticamente al lancio successivo. Il file è contrassegnato come nascosto nel file system.
A partire da Visual Studio 2015, Microsoft ha iniziato a migrare questo stato in una cartella nascosta .vs\ accanto alla soluzione. Visual Studio 2017 e versioni successive non creano più un file .suo monolitico; i dati equivalenti risiedono in .vs\{solution-name}\v15\ come file JSON e binari granulari. L'estensione .suo è effettivamente legacy per qualsiasi progetto aperto in VS 2017 o versioni successive.
Sicurezza e incolumità
RISCHIO: LOWI file SUO sono archivi di dati binari passivi - non pongono rischi di esecuzione di per sé. Possono trapelare dati specifici dello sviluppatore: percorsi di file sulla macchina locale, struttura del progetto e configurazioni delle estensioni. Per questo motivo non dovrebbero essere condivisi pubblicamente (aggiungi *.suo a .gitignore). Un file CFBF creato con intenti malevoli potrebbe in teoria sfruttare un bug del parser CFBF in Visual Studio, ma questo è un rischio molto teorico per i file .suo ricevuti da fonti sconosciute.
Dettagli del formato
in sintesiProgrammi che aprono file SUO
Dettagli tecnici
specifiche approfondite| Formato contenitore | Archiviazione strutturata OLE2 Compound File Binary Format (CFBF) |
| Magic bytes | D0 CF 11 E0 A1 B1 1A E1 all'offset 0 (firma OLE2 condivisa) |
| Codifica | Binaria, little-endian |
| Stream interni | Stream CFBF denominati per pacchetto Visual Studio, identificati da nomi derivati da GUID |
| Stato memorizzato | Documenti aperti e posizioni del cursore, layout dell'editor, punti di interruzione, configurazione di build attiva, cronologia Trova/Sostituisci, impostazioni specifiche delle estensioni |
| Dimensione tipica del file | 5 KB - 5 MB (cresce con il numero di file aperti, punti di interruzione ed estensioni) |
| Attributo del file system | Contrassegnato come nascosto; memorizzato accanto al file .sln nella radice della soluzione |
| Controllo del codice sorgente | Deve essere escluso dal VCS; aggiungi *.suo a .gitignore |
| Auto-ricreazione | Rigenerato automaticamente da Visual Studio quando eliminato; l'eliminazione è un passaggio sicuro per la risoluzione dei problemi |
| Dimensione settore CFBF | Settori da 512 byte (formato CFBF v3) |
| Isolamento stream | Ogni pacchetto o estensione VS installata scrive il proprio stream denominato isolato |
| Stato legacy | Sostituito dalla cartella nascosta .vs (VS 2015+); non creato da VS 2017 e versioni successive |
| OS associato | Windows |
| Recupero corruzione | Eliminare il .suo e riaprire la soluzione è il primo passo standard per uno stato dell'IDE corrotto |
| Rilasciato | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Ultima versione | 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. |
| Specifica | learn.microsoft.com |
Conversioni SUO
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file SUO.