PackageManifest Element (Root Element, VSX Schema)
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Required. Provides the root element for a manifest that describes a Visual Studio extension deployment package. The manifest contains the information that Extension Manager uses to install the extension on a target computer.
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="1.0">
<Metadata>... </Metadata>
<InstallationTargets>... </InstallationTargets>
<Dependencies>... </Dependencies>
<Assets>... </Assets>
</PackageManifest
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Attributes
Attribute |
Description |
---|---|
Version |
The version of the manifest format. |
Version Attribute
Value |
Description |
---|---|
1.0 |
Required. The version of the manifest format. For Visual Studio 2011, use 1.0. |
Child Elements
Element |
Description |
---|---|
Required. Contains metadata and advertising information about the package itself. There is only one metadata tag allowed in the manifest. |
|
Required. Describes how this extension package can be installed, including the application SKUs that it can install into. Only a single InstallationTargets element is allowed in the manifest. Without an InstallationTargets element, this package cannot install into any SKUs. |
|
Optional. A list of dependencies for this package are defined here. [optional] |
|
Required. Lists all of the assets contained within this package. Without this element, this package cannot surface any extensions or content. |
|
AnyElement Element |
Optional. The manifest schema is flexible enough to allow any other elements. Any elements not listed above can be listed here. These elements are exposed as extra XmlElement objects. Future extensions can define additional data in the manifest file, and enumerate it at runtime. |
Parent Elements
Element |
Description |
---|---|
None |
Remarks
Any child elements not listed above are exposed as extra XmlElement objects to the VSIX Manifest API.
The Vsix manifest file must be named extension.vsixmanifest when residing in a VSIX package. When using the project templates in the Visual Studio SDK, the Vsix manifest is named source.extension.vsixmanifest in the project, and then is built as extension.vsixmanifest in the build output.
Example
The following VSIX manifest installs a test component.
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="1.0">
<Metadata>
<Identity Version="2.1.40307.0" Id="Fabrikam.Application.Extension1" Language="us-en" Publisher="Fabrikam" />
<DisplayName>Test Extension Package</DisplayName>
<Description>This is my extension description.</Description>
<MoreInfo>https://www.fabrikam.com/Extension1/</MoreInfo>
<License>eula.rtf</License>
<ReleaseNotes>notes.txt</ReleaseNotes>
<Icon>Images\icon.png</Icon>
<PreviewImage>Images\preview.png</PreviewImage>
<Tags>foo, bar</Tags>
<GettingStartedGuide>https://www.myextension.com/guide.htm</GettingStartedGuide>
</Metadata>
<InstallationTargets AllUsers="false" SystemComponent="false">
<Targets>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[10.0-11.0]" />
</Targets>
</InstallationTargets>
<Dependencies>
<Dependency Id="another.package" Version="[1.2-2.0)" CanAutoDownload="true" IsRequired="true" />
<Dependency Id="Microsoft.Framework.NDP" Version="[4.0-5.0)" CanAutoDownload="false" IsRequired="true" />
<Dependency Id="foo.package" Version="[1.0-2.0)" DisplayName="CoolTool" Location="https://www.cooltool.com/download/cooltool.msi" AutoDownload="false" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.Package" Path="foo.pkgdef" />
<Asset Type="Microsoft.VisualStudio.MEFComponent" Path="foo.dll" />
<Asset Type="Microsoft.VisualStudio.Sample" Path="foo\MySample.sln" />
<Asset Type="Microsoft.VisualStudio.Control" Path="control.pkgdef" />
</Assets>
</PackageManifest>
Element Information
Namespace |
https://schemas.microsoft.com/developer/vsx-schema/2011 |
Schema Name |
Vsix Manifest |
Validation File |
PackageManifestSchema.xsd |
Can be Empty |
No |