Empaqueter et déployer des extensions My personnalisées (Visual Basic)

Visual Basic vous permet de déployer facilement vos extensions d’espaces de noms My personnalisées à l’aide de modèles Visual Studio. Si vous créez un modèle de projet pour lequel vos extensions My font partie intégrante du nouveau type de projet, vous pouvez simplement inclure le code de votre extension My personnalisée au projet lorsque vous exportez le modèle. Pour plus d’informations sur l’exportation de modèles de projet, consultez Comment créer des modèles de projet.

Si votre extension My personnalisée se trouve dans un fichier de code unique, vous pouvez exporter le fichier en tant que modèle d’élément que les utilisateurs peuvent ajouter à n’importe quel type de projet Visual Basic. Vous pouvez ensuite personnaliser le modèle d’élément pour activer des fonctionnalités et un comportement supplémentaires pour votre extension My personnalisée dans un projet Visual Basic. Ces fonctionnalités sont les suivantes :

  • Autoriser les utilisateurs à gérer votre extension My personnalisée à partir de la page Extensions My du Concepteur de projet Visual Basic.

  • Ajouter automatiquement votre extension My personnalisée lorsqu’une référence à un assembly spécifié est ajoutée à un projet.

  • Masquer le modèle d’élément d’extension My dans la boîte de dialogue Ajouter un élément afin qu’il ne soit pas inclus dans la liste des éléments de projet.

Cette rubrique explique comment empaqueter une extension My personnalisée en tant que modèle d’élément masqué qui peut être géré à partir de la page Extensions My du Concepteur de projet Visual Basic. L’extension My personnalisée peut également être ajoutée automatiquement lorsqu’une référence à un assembly spécifié est ajoutée à un projet.

Créer une extension d’espace de noms My

La première étape de la création d’un package de déploiement pour une extension My personnalisée consiste à créer l’extension en tant que fichier de code unique. Pour plus d’informations et de conseils sur la création d’une extension My personnalisée, consultez Extension de l’espace de noms My dans Visual Basic.

Exporter une extension d’espace de noms My en tant que modèle d’élément

Lorsqu’un fichier de code inclut votre extension d’espace de noms My, vous pouvez exporter le fichier de code en tant que modèle d’élément Visual Studio. Pour obtenir des instructions sur l’exportation d’un fichier en tant que modèle d’élément Visual Studio, consultez Comment créer des modèles d’élément.

Notes

Si votre extension d’espace de noms My comprend une dépendance sur un assembly particulier, vous pouvez personnaliser votre modèle d’élément pour installer automatiquement votre extension d’espace de noms My lorsqu’une référence à cet assembly est ajoutée. Par conséquent, il est souhaitable d’exclure cette référence d’assembly lorsque vous exportez le fichier de code en tant que modèle d’élément Visual Studio.

Personnaliser le modèle d’élément

Vous pouvez activer la gestion de votre modèle d’élément à partir de la page Extensions My du Concepteur de projet Visual Basic. Vous pouvez également activer l’ajout automatique du modèle d’élément lorsqu’une référence à un assembly spécifié est ajoutée à un projet. Pour activer ces personnalisations, ajoutez un nouveau fichier, appelé le fichier CustomData, à votre modèle, puis ajoutez un nouvel élément au langage XML dans votre fichier .vstemplate.

Ajouter le fichier CustomData

Le fichier CustomData est un fichier texte dont l’extension de nom de fichier est .CustomData (le nom de fichier peut être défini sur n’importe quelle valeur significative pour votre modèle) et qui contient du langage XML. Le langage XML dans le fichier CustomData ordonne à Visual Basic d’inclure votre extension My lorsque les utilisateurs utilisent la page Extensions My du Concepteur de projet Visual Basic. Vous pouvez éventuellement ajouter l’attribut <AssemblyFullName> au langage XML de votre fichier CustomData. Cela ordonne à Visual Basic d’installer automatiquement votre extension My personnalisée lorsqu’une référence à un assembly particulier est ajoutée au projet. Vous pouvez utiliser n’importe quel éditeur de texte ou éditeur XML pour créer le fichier CustomData et l’ajouter au dossier compressé de votre modèle d’élément (fichier .zip).

Par exemple, le langage XML suivant montre le contenu d’un fichier CustomData qui ajoute l’élément de modèle au dossier Extensions My d’un projet Visual Basic lorsqu’une référence à l’assembly Microsoft.VisualBasic.PowerPacks.Vs.dll est ajoutée au projet.

<VBMyExtensionTemplate
    ID="Microsoft.VisualBasic.Samples.MyExtensions.MyPrinterInfo"
    Version="1.0.0.0"
    AssemblyFullName="Microsoft.VisualBasic.PowerPacks.vs"
/>

Le fichier CustomData contient un élément <VBMyExtensionTemplate> qui comporte des attributs répertoriés dans le tableau suivant.

Attribut Description
ID Obligatoire. Identificateur unique de l’extension. Si l’extension qui comporte cet ID a déjà été ajoutée au projet, l’utilisateur n’est pas invité à l’ajouter à nouveau.
Version Obligatoire. Numéro de version du modèle d’élément.
AssemblyFullName Optionnel. Nom d'assembly Lorsqu’une référence à cet assembly est ajoutée au projet, l’utilisateur est invité à ajouter l’extension My à partir de ce modèle d’élément.

Ajouter l’élément <CustomDataSignature> au fichier .vstemplate

Pour identifier votre modèle d’élément Visual Studio en tant qu’extension d’espace de noms My, vous devez également modifier le fichier .vstemplate de votre modèle d’élément. Vous devez ajouter un élément <CustomDataSignature>à l’élément <TemplateData>. L’élément <CustomDataSignature> doit contenir le texte Microsoft.VisualBasic.MyExtension, comme illustré dans l’exemple suivant.

<CustomDataSignature>Microsoft.VisualBasic.MyExtension</CustomDataSignature>

Vous ne pouvez pas modifier directement les fichiers d’un dossier compressé (fichier .zip). Vous devez copier le fichier .vstemplate à partir du dossier compressé, le modifier, puis remplacer le fichier .vstemplate dans le dossier compressé par votre copie mise à jour.

L’exemple suivant montre le contenu d’un fichier .vstemplate auquel l’élément <CustomDataSignature> a été ajouté.

<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>MyCustomExtensionModule.vb</DefaultName>
    <Name>MyPrinterInfo</Name>
    <Description>Custom My Extensions Item Template</Description>
    <ProjectType>VisualBasic</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
    <CustomDataSignature      >Microsoft.VisualBasic.MyExtension</CustomDataSignature>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code"
                 TargetFileName="$fileinputname$.vb"
                 ReplaceParameters="true"
     >MyCustomExtensionModule.vb</ProjectItem>
  </TemplateContent>
</VSTemplate>

Installer le modèle

Pour installer le modèle, vous pouvez copier le dossier compressé (fichier .zip) dans le dossier des modèles d’élément Visual Basic. Par défaut, les modèles d’élément utilisateur se trouvent dans %USERPROFILE%\Documents\Visual Studio <Version>\Templates\ItemTemplates\Visual Basic. Vous pouvez également publier le modèle en tant que fichier Visual Studio Installer (.vsi).

Voir aussi