Référence du schéma d'extensions 2.0 VSIX
Un fichier manifeste de déploiement VSIX décrit le contenu d'un package VSIX. Le format de fichier est régi par un schéma. La version 2,0 de ce schéma prend en charge les types et les attributs d'addition. Le schéma du manifeste est extensible. Le chargeur manifeste ignore les éléments et des attributs XML qu'il n'inclut pas.
Important
Visual Studio 2012 chargera VSIXs décrit par le format 2010 et 2011.
Schéma du manifeste du package
l'élément racine du fichier XML manifeste est <PackageManifest>, avec un attribut unique Version, qui est la version du format manifeste. Si des modifications majeures sont apportées au format, le format de version est modifié. Cette rubrique décrit la version de format manifeste 2,0, qui est spécifiée dans le manifeste en définissant l'attribut d' Version à la valeur Version= » 2,0 ".
Élément de PackageManifest
Dans l'élément racine d' <PackageManifest> , vous pouvez utiliser les éléments suivants :
<Metadata> - métadonnées et indépendante informations relatives au package elle-même. Seuls un élément d' Metadata dans le manifeste.
<Installation> - cette section explique la manière dont ce package d'extension peut être installé, y compris l'application référence dans laquelle il peut installer. Uniquement autorisé un élément dans Installation dans le manifeste. Un manifeste doit avoir un élément d' Installation , ou ce package ne s'installe dans aucune référence.
<Dependencies> - une liste facultative de dépendances pour ce package sont définies ici.
<Assets> - cette section contient toutes les ressources contenus dans ce package. Sans cette section, ce package n'apparaîtra pas aucun contenu.
<AnyElement>* - le schéma manifeste est assez flexible pour autoriser tous les autres éléments. Tous les éléments enfants non identifiés par le chargeur manifeste sont exposés dans l'API du gestionnaire d'extensions en tant qu'objets de XmlElement de frais supplémentaires. L'utilisation de ces éléments enfants, les extensions VSIX peuvent définir des informations supplémentaires dans le fichier manifeste qui le code qui s'exécute dans Visual Studio peuvent accéder au moment de l'exécution. Consultez AdditionalElements et LocalizedAdditionalElements.
Élément de métadonnées
Cette section contient des métadonnées relatives au package, de son identité, et d'information indépendante. <Metadata> contient les éléments suivants :
<Identity> - cela définit les informations d'identification pour ce package et inclut les attributs suivants :
Id – cet attribut doit être un identificateur unique pour le package choisi par son auteur. Le nom doit être qualifié la même façon que les types CLR namespaced : Company.Product.Feature.Name. L'attribut d' Id est limité à 100 caractères.
Version – cela définit la version de ce package et de son contenu. Cet attribut suit le format de contrôle de version de l'assembly CLR : Major.Minor.Build.Revision (1.2.40308.00). Un package avec un numéro de version plus élevé est considéré comme des mises à jour au package, et peut être installé sur la version installée existante.
Language – cet attribut est la langue par défaut pour le package et correspond aux données textuelles dans ce manifeste. Cet attribut suit la convention de code de paramètres régionaux du CLR pour les assemblys de ressource, par exemple : en-us, en, fr-fr. Vous pouvez spécifier neutral pour déclarer une extension indépendante du langage qui s'exécutera sur n'importe quelle version de Visual Studio. La valeur par défaut est neutral.
Publisher – cet attribut identifie l'éditeur de ce package, une société ou nom individuel. L'attribut d' Publisher est limité à 100 caractères.
<DisplayName> - cet élément spécifie le nom du package convivial qui s'affiche dans le gestionnaire d'extensions interface utilisateur. Le contenu d' DisplayName est limité à 100 caractères.
<Description> - cet élément facultatif est une description courte du package et de son contenu affiché dans le gestionnaire d'extensions interface utilisateur. Le contenu d' Description peut contenir n'importe quel texte que vous souhaitez, mais il est limité à 1000 caractères.
<MoreInfo> - cet élément facultatif est une url à une page en ligne qui contient une description complète de ce package. Le fournisseur doit être spécifié comme HTTP.
<License> - cet élément facultatif est un chemin d'accès relatif à un fichier de licence contenu du package (.txt, .rtf) ou une URL à un site Web contenant la licence.
<ReleaseNotes> - cet élément est facultatif ou relatif à un fichier de notes de mise à jour contenu du package (.txt, .rtf) ou bien une URL à un site Web qui affiche les notes de mise à jour.
<Icon> - cet élément facultatif est un chemin d'accès relatif à un fichier image (PNG, BMP, JPEG, ico) contenu dans le package. L'image de l'icône doit être des pixels 32x32 (ou sera réduit à cette taille) et apparaît dans le listview interface utilisateur. Si aucun élément d' Icon n'est spécifié, l'interface utilisateur utilise une valeur par défaut.
<PreviewImage> - cet élément facultatif est un chemin d'accès relatif à un fichier image (PNG, BMP, JPEG) contenu dans le package. L'image d'aperçu doit être des pixels 200x200, et affiché dans les détails interface utilisateur. Si aucun élément d' PreviewImage n'est spécifié, l'interface utilisateur utilise une valeur par défaut.
<Tags> - les balises point-virgule-délimitées supplémentaires ces texte de listes d'éléments facultatifs qui sont utilisées pour la recherche laisse entendre. L'élément d' Tags est limité à 100 caractères.
<GettingStartedGuide> - cet élément facultatif est un chemin d'accès relatif à un fichier HTML ou une URL d'un site Web qui contient des informations sur l'utilisation de l'extension ou qui est contenu dans ce package. Ce guide est exécuté dans le cadre de l'installation.
<AnyElement>* - le schéma manifeste est assez flexible pour autoriser tous les autres éléments. Tous les éléments enfants qui ne sont pas reconnus par le chargeur manifeste sont exposés comme une liste d'objets de XmlElement. L'utilisation de ces éléments enfants, les extensions VSIX peuvent définir des informations supplémentaires dans le fichier manifeste et les énumérer au moment de l'exécution.
Élément d'installation
Cette section explique la manière dont ce package peut être installé et l'application référence dans laquelle il peut installer. Cette section contient les attributs suivants :
Scope – cet attribut peut prendre la valeur « globale » ou « ProductExtension » :
« Global » spécifie que l'installation ne sont pas limitées à un particulier référence. Par exemple, cette valeur est utilisée lorsqu'une extension Kit de développement logiciel est installée.
« ProductExtension » indique qu'une extension traditionnelle VSIX (version 1,0) est limitée à Visual Studio individuel référence est installée. Valeur par défaut.
AllUsers – cet attribut facultatif spécifie si ce package sera installé pour tous les utilisateurs. Par défaut, cet attribut a la valeur false, qui spécifie que le package est par utilisateur. (Lorsque vous affectez la valeur à true, l'utilisateur installant devez élever au niveau de privilèges d'administrateur pour installer le VSIX résultant.
InstalledByMsi – cet attribut facultatif spécifie si ce package est installé par MSI. Les packages installés par le MSI sont installés et gérés par MSI (les programmes et des fonctionnalités) et non par le gestionnaire d'extensions Visual Studio. Par défaut, cet attribut a la valeur false, qui spécifie que le package n'est pas installé par MSI.
SystemComponent – cet attribut facultatif spécifie si ce package doit être considéré comme un composant système. Les composants système n'affichent pas dans le gestionnaire d'extensions interface utilisateur et ne peuvent pas être mis à jour. Par défaut, cet attribut a la valeur false, qui spécifie que le package n'est pas un composant système.
AnyAttribute* – l'élément d' Installation accepte un jeu ouvert d'attributs qui seront exposés au moment de l'exécution du dictionnaire nom-valeur de paires.
<InstallationTarget> – cet élément contrôle l'emplacement où l'installateur VSIX installe le package. Si la valeur de l'attribut d' Scope est « ProductExtension » le package doit cibler une référence qui configure un fichier manifeste dans le cadre de son contenu pour publier sa disponibilité aux extensions. L'élément d' <InstallationTarget> a les attributs suivants lorsque l'attribut d' Scope a le explicite ou la valeur par défaut « ProductExtension » :
Id – cet attribut identifie le package. L'attribut suit la convention espace de noms : Company.Product.Feature.Name. L'attribut d' Id peut contenir uniquement des caractères alphanumériques et est limité à 100 caractères. Valeurs attendues :
Microsoft.VisualStudio.IntegratedShell
Microsoft.VisualStudio.Pro
Microsoft.VisualStudio.Premium
Microsoft.VisualStudio.Ultimate
Microsoft.VisualStudio.VWDExpress
Microsoft.VisualStudio.VPDExpress
Microsoft.VisualStudio.VSWinExpress
Microsoft.VisualStudio.VSLS
My.Shell.App
Version – cet attribut spécifie une plage de version avec les versions prises en charge par maximale de cette référence. Un package peut détailler les versions de référence qu'il prend en charge. La notation de plage de version est (10,0 à 11,0], où :
] – version maximale compris.
- (exclusif de version minimale.
) – exclusif maximale de version.
Version unique # - version prise en charge de minimum avec le maximum illimité.
AnyAttribute* – l'élément d' <InstallationTarget> permet un jeu ouvert d'attributs qui seront exposés au moment de l'exécution du dictionnaire nom-valeur de paires.
Élément de dépendances
Cet élément contient une liste des dépendances que ce package déclare. Si les dépendances sont spécifiées, les packages (identifiées par leur Id) doivent être installés avant cette opération.
Élément d'<Dependency> – cet élément enfant possède les attributs suivants :
Id – cet attribut doit être un identificateur unique pour le package dépendant. Cette valeur d'identité doit correspondre à l'attribut d' <Metadata><Identity>Id d'un package que ce package est activé dépendant. L'attribut d' Id suit la convention espace de noms : Company.Product.Feature.Name. L'attribut peut contenir uniquement des caractères alphanumériques et est limité à 100 caractères.
Version – cet attribut déclare la plage spécifiée de version du package que ce package est activé dépendant. La notation de plage de version est (1,0 – 2,1) :
[- version minimale compris.
] – version maximale compris.
- (exclusif de version minimale.
) – version maximale compris.
Version unique # - version prise en charge de minimum avec le maximum illimité.
DisplayName - cet attribut est le nom complet du package dépendant utilisé dans des éléments d'interface utilisateur tels que des boîtes de dialogue et les messages d'erreur. L'attribut est facultatif sauf si le package dépendant soit installé par MSI.
Location – cet attribut facultatif spécifie le chemin d'accès relatif dans ce projet VSIX à un package VSIX imbriqué ou une URL sur le site de téléchargement pour la dépendance. Cet attribut est utilisé pour aider l'utilisateur à localiser le package nécessaire.
AnyAttribute* – l'élément d' Dependency accepte un jeu ouvert d'attributs qui seront exposés au moment de l'exécution du dictionnaire nom-valeur de paires.
Élément de ressources
Cet élément contient la liste des indicateurs d' <Asset> pour chaque extension ou l'élément de contenu a apprêté par ce package.
<Asset> - cet élément contient les attributs et les éléments suivants :
Type – c'est le type de l'extension ou de contenu représenté par cet élément. Chaque élément d' <Asset> doit avoir Typeunique, mais plusieurs éléments d' <Asset> peuvent avoir même Type. Cet attribut doit être représenté comme nom qualifié complet, selon les conventions de l'espace de noms. Les types connus sont :
Microsoft.VisualStudio.Package
Microsoft.VisualStudio.MefComponent
Microsoft.VisualStudio.ToolboxControl
Microsoft.VisualStudio.Samples
Microsoft.VisualStudio.ProjectTemplate
Microsoft.VisualStudio.ItemTemplate
Microsoft.VisualStudio.Assembly
Vous pouvez créer vos propres types, et leur attribuer des noms uniques. Au moment de l'exécution à l'intérieur de Visual Studio, votre code peut énumérer et accéder à ces types personnalisés via l'API du gestionnaire d'extensions.
Chemin d'accès – le chemin d'accès relatif au fichier ou dossier dans le package qui contient le ressource.
AnyAttribute* est-à-dire un ensemble ouvert d'attributs qui seront exposés au moment de l'exécution du dictionnaire nom-valeur de paires.
<AnyElement>* – tout contenu structuré est autorisé entre <Asset> commencent et balise de fin. Tous les éléments sont exposés comme une liste d'objets de XmlElement. Les extensions VSIX peuvent définir des métadonnées structurées spécifiques au type dans le fichier manifeste et les énumérer au moment de l'exécution.
Manifeste d'exemple
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.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>http://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>http://www.fabrikam.com/guide.htm</GettingStartedGuide>
</Metadata>
<Installation AllUsers="false" SystemComponent="false">
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[10.0-11.0]" />
</Installation>
<Dependencies>
<Dependency Id="another.package" Version="[1.2-2.0)" />
<Dependency Id="Microsoft.Framework.NDP" Version="[4.0-5.0)" />
<Dependency Id="mypackage.package" Version="[1.0-2.0)" DisplayName="MyCoolTool" Location="http://www.fabrikam.com/download/mycooltool.msi" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.Package" Path="mypackage.pkgdef" />
<Asset Type="Microsoft.VisualStudio.MEFComponent" Path="mycomponent.dll" />
<Asset Type="Microsoft.VisualStudio.ToolboxControl" Path="mycontrol.pkgdef" />
</Assets>
</PackageManifest>