Anatomy of a VSIX Package
A VSIX package is a .vsix file that contains one or more Visual Studio extensions, together with the metadata that Extension Manager uses to classify and install the extensions. That metadata is contained in the VSIX manifest and the [Content_Types].xml file. A VSIX package may also contain one or more Extension.vsixlangpack files to provide localized Setup text, and may contain additional VSIX packages to install dependencies.
Note
Names of files included in VSIX packages must not include spaces, nor characters that are reserved in Uniform Resource Identifiers (URI), as defined under [RFC2396].
The VSIX Manifest
The VSIX manifest contains information about the extension to be installed, and follows the VSX Schema. For more information, see VSX Schema for Extensions. For an example VSIX manifest, see VSIX Element (Root Element, VSX Schema).
The VSIX manifest must be named extension.vsixmanifest when residing in a .vsix file.
[Content_Types].xml
The [Content_Types].xml file identifies the file types in the expanded .vsix file. Visual Studio uses this file during installation of the package but does not install the file itself.
A [Content_Types].xml file is required by the Open Packaging Conventions (OPC) standard. For more information about OPC, see OPC: A New Standard For Packaging Your Data on the MSDN Web site.
The Content
A VSIX package may carry templates, toolbox items, VSPackages, or any other kind of extension that is supported by Visual Studio. For a list of supported extension types, see PAVE Visual Studio Extension Deployment.
Language Packs
A VSIX package may contain once or more Extension.vsixlangpack files to provide localized text during installation. For more information, see Localizing VSIX Packages.
References
A VSIX package may contain other VSIX packages as references. Each of these other packages must include its own VSIX manifest.
In This Section
Title |
Description |
---|---|
Describes the schema requirements for a VSIX manifest file. |
|
Describes the requirements of a [Content_Types].xml file for a .vsix package. |
|
Describes the schema requirements for a .vsixlangpack file. |
Related Topics
Title |
Description |
---|---|
Describes the deployment strategies that are available for Visual Studio extensions. |
|
Provides step-by-step instructions for wrapping an extension in a VSIX package and publishing the package. |
|
Shows how to add a reference to a VSIX package. |
|
Shows how to provide localized installation text for a VSIX package. |