Vad är filformatet VSIX?
.vsix är formatet för installationspaket för Visual Studio-tillägg. Det introducerades med Visual Studio 2010 och ersatte den äldre installationsmodellen med .vsi och .msi. Formatet är fortfarande aktuellt i Visual Studio 2022.
Strukturellt sett är en .vsix-fil ett Open Packaging Conventions-arkiv - i grunden en ZIP - som innehåller en extension.vsixmanifest-metadatabeskrivning, ett [Content_Types].xml OPC-manifest och själva tilläggets innehåll: kompilerade .dll-assemblies, MEF-komponenter, .vsct-filer för kommandotabeller, kodfragment och mallar.
I extension.vsixmanifest deklareras tilläggets ID, version, visningsnamn och InstallationTarget-intervall som anger vilka versioner och utgåvor av Visual Studio som tillägget stöder. Det finns två versioner av manifestschemat: v1 (VS 2010-2011) och v2 (VS 2012 och senare, nuvarande).
Genom att dubbelklicka på en .vsix i Windows startas VSIXInstaller.exe, som medföljer Visual Studio, vilket validerar och installerar tillägget. Tillägg publiceras och hittas även via Visual Studio Marketplace på marketplace.visualstudio.com.
Visual Studio Code använder också .vsix-paket för sina egna tillägg, men med ett strukturellt annorlunda innehåll: VS Code-tillägg har ett package.json-manifest istället för vsixmanifest, vilket gör de två familjerna inkompatibla trots att de delar samma filändelse.
Eftersom .vsix är ett ZIP-arkiv kan verktyg som 7-Zip öppna filen för manuell inspektion. Dess magic bytes (50 4B 03 04 vid offset 0) är identiska med vilken standard-ZIP-fil som helst; det är förekomsten av extension.vsixmanifest inuti som identifierar paketet som ett Visual Studio-tillägg.
Säkerhet & trygghet
RISK: MEDIUMVSIX-paket innehåller kompilerade .NET DLL-filer som körs i Visual Studio-processen med full behörighet. Ett skadligt tillägg kan läsa källkod, inloggningsuppgifter, miljövariabler eller installera persistenta bakdörrar. Installera endast från Visual Studio Marketplace eller betrodda källor. Paket på Marketplace skannas, men det är ingen garanti. För säkerhetsgranskning: byt namn till .zip och inspektera DLL-filer före installation.
Formatdetaljer
i ett nötskal- VS Code Extension Package - VS Code-tillägg paketeras också som .vsix (via vsce-verktyget) men använder manifestet package.json, inte schemat för Visual Studio vsixmanifest.
Program som öppnar VSIX-filer
Tekniska detaljer
djup specifikation| Containerformat | OPC (Open Packaging Conventions) / ZIP-arkiv med `[Content_Types].xml` och relationsdelar |
| Komprimering | DEFLATE (per post i ZIP); enskilda poster kan lagras okomprimerade |
| Manifestfil | `extension.vsixmanifest` - XML som deklarerar tilläggs-ID, version, utgivare, InstallationTarget och sökvägar till resurser |
| Schemaversioner för manifest | v1 (VS 2010-2011) och v2 (VS 2012 och senare, nuvarande) |
| Magic bytes | `50 4B 03 04` vid offset 0 (standard ZIP-header); skiljs från andra ZIP-filer genom posten `extension.vsixmanifest` inuti |
| MIME-typ | `application/vsix` |
| Typisk paketstorlek | 50 KB - 50 MB; de flesta tillägg 1-5 MB; stora språkpaket upp till 50 MB |
| Installationsprogram | `VSIXInstaller.exe`, medföljer Visual Studio; startas automatiskt vid dubbelklick på en .vsix-fil |
| Distributionskanal | Visual Studio Marketplace (marketplace.visualstudio.com); även direkt filnedladdning och företagsdistribution |
| Säkerhetsmodell | Marketplace validerar Authenticode-signaturer på DLL-filer inuti; ingen kryptografisk signatur på själva ZIP-containern |
| Notering om VS Code | VS Code använder också .vsix men med `package.json`-manifest istället för `vsixmanifest`; de två är inte utbytbara |
| Målspecifikation | `InstallationTarget`-elementet i manifestet listar VS-produkt-ID:n och versionsintervall för kompatibilitet |
| Släppt | 2010 (Visual Studio 2010; replaced older .vsi/.msi extension model) |
| Senaste version | VSIX manifest schema v2.0 (introduced VS 2012; current as of VS 2022) |
| Specifikation | learn.microsoft.com |
VSIX-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om VSIX-filer.