Che cos'è il formato di file VSIX?
.vsix è il formato del pacchetto di installazione per le estensioni di Visual Studio. Introdotto con Visual Studio 2010, ha sostituito il vecchio modello di installazione delle estensioni .vsi e .msi. Il formato rimane attuale fino a Visual Studio 2022.
Strutturalmente, un file .vsix è un archivio Open Packaging Conventions - essenzialmente uno ZIP - contenente un descrittore di metadati extension.vsixmanifest, un manifesto OPC [Content_Types].xml e il payload dell'estensione: assembly .dll compilati, componenti MEF, file di tabelle di comandi .vsct, snippet e modelli.
Il file extension.vsixmanifest dichiara l'ID dell'estensione, la versione, il nome visualizzato e gli intervalli InstallationTarget che specificano quali versioni e SKU di Visual Studio sono supportate dall'estensione. Esistono due versioni dello schema del manifesto: v1 (VS 2010-2011) e v2 (VS 2012 e successivi, attuale).
Facendo doppio clic su un .vsix su Windows si avvia VSIXInstaller.exe, incluso in Visual Studio, che convalida e installa l'estensione. Le estensioni vengono inoltre pubblicate e scoperte tramite il Visual Studio Marketplace all'indirizzo marketplace.visualstudio.com.
Anche Visual Studio Code utilizza pacchetti .vsix per le proprie estensioni, ma con un interno strutturalmente diverso: le estensioni di VS Code contengono un manifesto package.json anziché vsixmanifest, rendendo le due famiglie incompatibili nonostante condividano la stessa estensione di file.
Poiché .vsix è un archivio ZIP, strumenti come 7-Zip possono aprire il file per un'ispezione manuale. I magic bytes (50 4B 03 04 all'offset 0) sono identici a qualsiasi file ZIP standard; la presenza di extension.vsixmanifest all'interno è ciò che identifica un pacchetto come estensione di Visual Studio.
Sicurezza e incolumità
RISCHIO: MEDIUMI pacchetti VSIX contengono DLL .NET compilate che vengono eseguite nel processo di Visual Studio con piena fiducia. Un'estensione malevola può leggere codice sorgente, credenziali, variabili d'ambiente o installare backdoor persistenti. Installa solo dal Visual Studio Marketplace o da fonti affidabili. I pacchetti del Marketplace vengono scansionati ma non sono infallibili. Per il controllo di sicurezza: rinomina in .zip e ispeziona le DLL prima dell'installazione.
Dettagli del formato
in sintesi- Pacchetto di estensione VS Code - Le estensioni di VS Code sono anch'esse confezionate come .vsix (tramite lo strumento vsce) ma utilizzano il manifesto package.json, non lo schema vsixmanifest di Visual Studio.
Programmi che aprono file VSIX
Dettagli tecnici
specifiche approfondite| Formato contenitore | OPC (Open Packaging Conventions) / archivio ZIP con `[Content_Types].xml` e parti di relazione |
| Compressione | DEFLATE (per singola voce ZIP); le singole voci possono essere memorizzate non compresse |
| File manifesto | `extension.vsixmanifest` - XML che dichiara ID estensione, versione, editore, InstallationTarget e percorsi degli asset |
| Versioni dello schema del manifesto | v1 (VS 2010-2011) e v2 (VS 2012 e successivi, attuale) |
| Magic bytes | `50 4B 03 04` all'offset 0 (intestazione ZIP standard); si distingue dagli altri ZIP per la voce `extension.vsixmanifest` all'interno |
| Tipo MIME | `application/vsix` |
| Dimensione tipica del pacchetto | 50 KB - 50 MB; la maggior parte delle estensioni 1-5 MB; pacchetti di lingua grandi fino a 50 MB |
| Eseguibile dell'installer | `VSIXInstaller.exe`, incluso in Visual Studio; avviato automaticamente al doppio clic di un file .vsix |
| Canale di distribuzione | Visual Studio Marketplace (marketplace.visualstudio.com); anche download diretto del file e distribuzione aziendale |
| Modello di sicurezza | Il Marketplace convalida le firme Authenticode sulle DLL all'interno; nessuna firma crittografica sul contenitore ZIP stesso |
| Nota su VS Code | VS Code utilizza anch'esso .vsix ma con manifesto `package.json` invece di `vsixmanifest`; i due non sono intercambiabili |
| Specifica del target | L'elemento `InstallationTarget` nel manifesto elenca gli ID prodotto VS e gli intervalli di versione per la compatibilità |
| Rilasciato | 2010 (Visual Studio 2010; replaced older .vsi/.msi extension model) |
| Ultima versione | VSIX manifest schema v2.0 (introduced VS 2012; current as of VS 2022) |
| Specifica | learn.microsoft.com |
Conversioni VSIX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file VSIX.