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 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

VSX Schema for Extensions

Describes the schema requirements for a VSIX manifest file.

[Content_types].xml (VSIX Deployment)

Describes the requirements of a [Content_Types].xml file for a .vsix package.

VSX Language Pack Schema Reference

Describes the schema requirements for a .vsixlangpack file.

Title

Description

Visual Studio Extension Deployment

Describes the deployment strategies that are available for Visual Studio extensions.

VSIX Project Template

Provides step-by-step instructions for wrapping an extension in a VSIX package and publishing the package.

How to: Add a Reference to a VSIX Package

Shows how to add a reference to a VSIX package.

Localizing VSIX Packages

Shows how to provide localized installation text for a VSIX package.