Hva er VSIX-filformatet?
.vsix er formatet for installasjonspakker til Visual Studio-utvidelser. Det ble introdusert med Visual Studio 2010 og erstattet den eldre installasjonsmodellen for .vsi- og .msi-utvidelser. Formatet er fortsatt gjeldende i Visual Studio 2022.
Strukturelt sett er en .vsix-fil et Open Packaging Conventions-arkiv - i bunn og grunn en ZIP - som inneholder en extension.vsixmanifest-metadatabeskrivelse, et [Content_Types].xml OPC-manifest, og selve utvidelsen: kompilerte .dll-filer, MEF-komponenter, kommandotabell-filer (.vsct), kodesnutter og maler.
extension.vsixmanifest deklarerer utvidelsens ID, versjon, visningsnavn og InstallationTarget-områder som spesifiserer hvilke Visual Studio-versjoner og SKU-er utvidelsen støtter. Det finnes to versjoner av manifest-skjemaet: v1 (VS 2010-2011) og v2 (VS 2012 og senere, nåværende).
Ved å dobbeltklikke på en .vsix i Windows startes VSIXInstaller.exe, som følger med Visual Studio, og som validerer og installerer utvidelsen. Utvidelser publiseres og oppdages også gjennom Visual Studio Marketplace på marketplace.visualstudio.com.
Visual Studio Code bruker også .vsix-pakker for sine egne utvidelser, men med et strukturelt annerledes innhold: VS Code-utvidelser inneholder et package.json-manifest i stedet for vsixmanifest, noe som gjør de to familiene inkompatible til tross for at de deler samme filendelse.
Fordi .vsix er et ZIP-arkiv, kan verktøy som 7-Zip åpne filen for manuell inspeksjon. De magiske bytene (50 4B 03 04 ved offset 0) er identiske med enhver standard ZIP-fil; det er tilstedeværelsen av extension.vsixmanifest på innsiden som identifiserer pakken som en Visual Studio-utvidelse.
Sikkerhet og trygghet
RISIKO: MEDIUMVSIX-pakker inneholder kompilerte .NET DLL-filer som kjøres i Visual Studio-prosessen med full tillit. En ondsinnet utvidelse kan lese kildekode, påloggingsinformasjon, miljøvariabler eller installere vedvarende bakdører. Installer kun fra Visual Studio Marketplace eller pålitelige kilder. Pakker på Marketplace skannes, men det er ingen garanti. For sikkerhetsrevisjon: gi nytt navn til .zip og inspiser DLL-filer før installasjon.
Formatdetaljer
i et nøtteskall- VS Code Extension Package - VS Code-utvidelser er også pakket som .vsix (via vsce-verktøyet), men bruker package.json-manifestet, ikke Visual Studio vsixmanifest-skjemaet.
Programmer som åpner VSIX-filer
Tekniske detaljer
dyp spesifikasjon| Beholderformat | OPC (Open Packaging Conventions) / ZIP-arkiv med `[Content_Types].xml` og relasjonsdeler |
| Komprimering | DEFLATE (per ZIP-oppføring); individuelle oppføringer kan lagres ukomprimert |
| Manifestfil | `extension.vsixmanifest` - XML som deklarerer utvidelsens ID, versjon, utgiver, InstallationTarget og ressursstier |
| Manifest-skjemaversjoner | v1 (VS 2010-2011) og v2 (VS 2012 og senere, nåværende) |
| Magiske byte | `50 4B 03 04` ved offset 0 (standard ZIP-header); skilles fra andre ZIP-filer ved `extension.vsixmanifest`-oppføringen på innsiden |
| MIME-type | `application/vsix` |
| Typisk pakkestørrelse | 50 KB - 50 MB; de fleste utvidelser er 1-5 MB; store språkpakker opptil 50 MB |
| Installasjonsprogram | `VSIXInstaller.exe`, inkludert med Visual Studio; startes automatisk ved dobbeltklikk på en .vsix-fil |
| Distribusjonskanal | Visual Studio Marketplace (marketplace.visualstudio.com); også direkte filnedlasting og bedriftsdistribusjon |
| Sikkerhetsmodell | Marketplace validerer Authenticode-signaturer på DLL-filer på innsiden; ingen kryptografisk signatur på selve ZIP-beholderen |
| VS Code-merknad | VS Code bruker også .vsix, men med `package.json`-manifest i stedet for `vsixmanifest`; de to er ikke utbyttbare |
| Målspesifikasjon | `InstallationTarget`-elementet i manifestet lister opp VS-produkt-ID-er og versjonsområder for kompatibilitet |
| Utgitt | 2010 (Visual Studio 2010; replaced older .vsi/.msi extension model) |
| Siste versjon | VSIX manifest schema v2.0 (introduced VS 2012; current as of VS 2022) |
| Spesifikasjon | learn.microsoft.com |
VSIX-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om VSIX-filer.