Partager via


Déploiement d'extensions pour les outils SharePoint dans Visual Studio

Pour déployer une extension d'outils SharePoint, créez un package d'extension Visual Studio (VSIX) qui contient l'assembly d'extension et tous les autres fichiers que vous voulez distribuer avec l'extension. Un package VSIX est un fichier compressé conforme à la norme OPC (Open Packaging Conventions). Les packages VSIX ont l'extension .vsix.

Une fois que vous avez créé un package VSIX, d'autres utilisateurs peuvent exécuter le fichier .vsix pour installer votre extension. Lorsqu'un utilisateur installe votre extension, tous les fichiers sont placés dans le dossier %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions. Pour déployer l'extension, vous pouvez télécharger le package VSIX sur le site Web de la Galerie Visual Studio (page éventuellement en anglais) ou distribuer le package à vos clients par d'autres moyens, tels que l'hébergement du package sur un partage réseau ou un autre site Web.

Pour plus d'informations sur la création de packages VSIX et leur déploiement sur le site Web de la Galerie Visual Studio, consultez VSIX Deployment.

Vous pouvez créer un package VSIX au moyen du modèle Projet VSIX dans Visual Studio ou bien manuellement.

Utilisation de projets VSIX pour la création de packages VSIX

Vous pouvez utiliser le modèle Projet VSIX fourni par le Kit de développement logiciel (SDK) Visual Studio 2010 afin de créer des packages VSIX pour les extensions d'outils SharePoint. L'utilisation d'un projet VSIX offre plusieurs avantages par rapport à la création manuelle d'un package VSIX :

  • Visual Studio génère automatiquement le package VSIX lors de la génération du projet. Les tâches telles que l'ajout des fichiers de déploiement au package et la création du fichier [Content_Types].xml pour le package sont effectuées automatiquement.

  • Vous pouvez configurer le projet VSIX pour inclure la sortie de génération de votre projet d'extension et d'autres fichiers, tels que les modèles de projet et d'élément, dans le package VSIX.

Pour plus d'informations sur l'utilisation d'un projet VSIX, consultez VSIX Project Template.

Organisation de vos projets

Par défaut, les projets VSIX génèrent uniquement des packages VSIX, pas d'assemblys. Par conséquent, en général vous n'implémentez pas d'extension d'outils SharePoint dans un projet VSIX. Généralement, vous utilisez au moins deux projets :

  • Un projet VSIX.

  • Un projet de bibliothèque de classes qui implémente votre extension.

Vous pouvez également utiliser des projets supplémentaires pour certains types d'extensions :

Si vous incluez tous les projets dans la même solution Visual Studio, vous pouvez modifier le fichier source.extension.vsixmanifest dans le projet VSIX pour inclure la sortie de génération des projets de bibliothèque de classes.

Modification du manifeste VSIX

Vous devez modifier le fichier source.extension.vsixmanifest dans le projet VSIX pour inclure des entrées pour tous les éléments à inclure dans votre extension. Lorsque vous modifiez le fichier source.extension.vsixmanifest, Visual Studio ouvre le fichier dans un concepteur qui fournit une interface utilisateur pour modifier le code XML dans le fichier. Pour plus d'informations, consultez VSIX Manifest Designer.

Vous devez ajouter des entrées dans le fichier source.extension.vsixmanifest pour les éléments suivants :

  • L'assembly d'extension.

  • L'assembly qui implémente des commandes SharePoint utilisées par votre extension.

  • Tous les modèles de projet ou d'élément associés à votre extension.

  • Un Assistant personnalisé pour un modèle associé à votre extension.

Les procédures suivantes décrivent la procédure d'ajout des entrées dans le fichier .vsixmanifest pour chacun de ces éléments.

Pour inclure l'assembly d'extension

  1. Dans le projet VSIX, double-cliquez sur le fichier source.extension.vsixmanifest pour l'ouvrir dans le concepteur.

  2. Dans la section Contenu de l'éditeur, cliquez sur le bouton Ajouter du contenu.

  3. Dans la boîte de dialogue Ajouter du contenu, dans la zone de liste Sélectionner un type de contenu, sélectionnez Composant MEF.

  4. Sous Sélectionner une source, exécutez l'une des opérations suivantes :

    • Si l'assembly d'extension est généré à partir d'un projet figurant dans la même solution que le projet VSIX, cliquez sur la case d'option Projet et sélectionnez le nom du projet dans la zone de liste associée.

    • Si l'assembly d'extension est inclus en tant que fichier dans votre projet, cliquez sur la case d'option Fichier dans le projet et sélectionnez l'assembly dans la zone de liste associée.

    • Si l'assembly d'extension se trouve dans un autre emplacement, cliquez sur la case d'option Fichier, puis utilisez la boîte de dialogue Choisir un fichier pour rechercher et sélectionner l'assembly.

  5. Cliquez sur OK.

Pour inclure un assembly de commande SharePoint

  1. Dans le projet VSIX, double-cliquez sur le fichier source.extension.vsixmanifest pour l'ouvrir dans le concepteur.

  2. Dans la section Contenu de l'éditeur, cliquez sur le bouton Ajouter du contenu.

  3. Dans la boîte de dialogue Ajouter du contenu, dans la zone de liste Sélectionner un type de contenu, sélectionnez Type d'extension personnalisée.

  4. Dans la zone de texte Type, tapez SharePoint.Commands.v4. Cette valeur est requise pour tous les assemblys qui contiennent des commandes SharePoint.

  5. Sous Sélectionner une source, exécutez l'une des opérations suivantes :

    • Si l'assembly de commande est généré à partir d'un projet figurant dans la même solution que le projet VSIX, cliquez sur la case d'option Projet et sélectionnez le nom du projet de commande dans la zone de liste associée.

    • Si l'assembly de commande est inclus en tant que fichier dans votre projet, cliquez sur la case d'option Fichier dans le projet et sélectionnez l'assembly dans la zone de liste associée.

    • Si l'assembly de commande se trouve dans un autre emplacement, cliquez sur la case d'option Fichier, puis utilisez la boîte de dialogue Choisir un fichier pour rechercher et sélectionner l'assembly.

  6. Cliquez sur OK.

Pour inclure le modèle que vous créez à l'aide d'un projet de modèle de projet ou d'élément du kit de développement Visual Studio SDK

  1. Dans le projet VSIX, double-cliquez sur le fichier source.extension.vsixmanifest pour l'ouvrir dans le concepteur.

  2. Dans la section Contenu de l'éditeur, cliquez sur le bouton Ajouter du contenu.

  3. Dans la boîte de dialogue Ajouter du contenu, dans la zone de liste Sélectionner un type de contenu, sélectionnez Modèle de projet ou Modèle d'élément.

  4. Sous Sélectionner une source, cliquez sur la case d'option Projet et sélectionnez le nom du projet dans la zone de liste en regard de ce dernier.

  5. Cliquez sur OK.

  6. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de votre projet de modèle de projet ou d'élément, puis cliquez sur Décharger le projet.

  7. Cliquez avec le bouton droit de nouveau sur le nœud du projet, puis sur Modifier VotreNomProjetModèle**.csproj** ou Modifier VotreNomProjetModèle**.vbproj**.

  8. Localisez l'élément VSTemplate suivant dans le fichier projet.

    <VSTemplate Include="YourTemplateName.vstemplate">
    
  9. Remplacez cet élément VSTemplate par le code XML suivant :

    <VSTemplate Include="YourTemplateName.vstemplate">
      <OutputSubPath>SharePoint\SharePoint14</OutputSubPath>
    </VSTemplate>
    

    L'élément OutputSubPath spécifie des dossiers supplémentaires dans le chemin d'accès où le modèle de projet est créé lorsque vous générez le projet. Les dossiers spécifiés ici garantissent que le modèle d'élément sera disponible uniquement lorsque les clients cliquent sur le nœud 2010 sous le nœud SharePoint dans la boîte de dialogue Ajouter un nouvel projet.

  10. Enregistrez et fermez le fichier.

  11. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de votre projet de modèle de projet ou d'élément, puis cliquez sur Recharger le projet.

Pour inclure un modèle que vous créez manuellement

  1. Ajoutez au projet VSIX un nouveau dossier devant contenir le modèle.

  2. Sous ce nouveau dossier, créez les sous-dossiers suivants, puis ajoutez le fichier modèle (.zip) au dossier ID de paramètres régionaux.

         VotreDossierModèle

              SharePoint

                   SharePoint14

                        ID de paramètres régionaux

                             YourTemplateName.zip

    Par exemple, si vous disposez d'un modèle d'élément nommé ContosoCustomAction.zip qui prend en charge les paramètres régionaux Anglais (États-Unis), le chemin d'accès complet peut correspondre à ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.

  3. Dans l'Explorateur de solutions, cliquez sur le fichier modèle (YourTemplateName.zip).

  4. Dans la fenêtre Propriétés, affectez à la propriété Action de génération la valeur Contenu.

  5. Double-cliquez sur le fichier source.extension.vsixmanifest pour l'ouvrir dans le concepteur.

  6. Dans la section Contenu de l'éditeur, cliquez sur le bouton Ajouter du contenu.

  7. Dans la boîte de dialogue Ajouter du contenu, dans la zone de liste Sélectionner un type de contenu, sélectionnez Modèle d'élément ou Modèle de projet.

  8. Sous Sélectionner une source, cliquez sur la case d'option Fichier dans le projet et sélectionnez le chemin d'accès complet du modèle dans la zone de liste associée. Par exemple, ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.

  9. Cliquez sur OK.

Pour inclure un Assistant pour un modèle de projet ou un modèle d'élément

  1. Dans le projet VSIX, double-cliquez sur le fichier source.extension.vsixmanifest pour l'ouvrir dans le concepteur.

  2. Dans la section Contenu de l'éditeur, cliquez sur le bouton Ajouter du contenu.

  3. Dans la boîte de dialogue Ajouter du contenu, dans la zone de liste Sélectionner un type de contenu, sélectionnez Assistant Modèle.

  4. Sous Sélectionner une source, exécutez l'une des opérations suivantes :

    • Si l'assembly de l'Assistant est généré à partir d'un projet figurant dans la même solution que le projet VSIX, cliquez sur la case d'option Projet et sélectionnez le nom du projet dans la zone de liste associée.

    • Si l'assembly de l'Assistant est inclus en tant que fichier dans votre projet, cliquez sur la case d'option Fichier dans le projet et sélectionnez l'assembly dans la zone de liste associée.

    • Si l'assembly de l'Assistant se trouve dans un autre emplacement, cliquez sur la case d'option Fichier, puis utilisez la boîte de dialogue Choisir un fichier pour rechercher et sélectionner l'assembly.

  5. Cliquez sur OK.

Procédures pas à pas connexes

Le tableau suivant répertorie les procédures pas à pas qui illustrent le mode d'utilisation d'un projet VSIX pour déployer différents types d'extensions d'outils SharePoint.

Type d'extension

Procédures pas à pas connexes

Une extension qui inclut uniquement l'assembly d'extension

Procédure pas à pas : extension d'un type d'élément de projet SharePoint

Procédure pas à pas : création d'une extension de projet SharePoint

Procédure pas à pas : appel du modèle d'objet client SharePoint à partir d'une extension de l'Explorateur de serveurs

Une extension qui inclut des commandes SharePoint

Procédure pas à pas : création d'une étape de déploiement personnalisée pour des projets SharePoint

Procédure pas à pas : extension de l'Explorateur de serveurs pour afficher des WebParts

Procédure pas à pas : création d'un élément de projet de colonnes de sites avec un modèle de projet, partie 2

Une extension qui inclut un modèle Visual Studio

Procédure pas à pas : création d'un élément de projet d'action personnalisé avec un modèle d'élément, partie 1

Procédure pas à pas : création d'un élément de projet de colonnes de sites avec un modèle de projet, partie 1

Une extension qui inclut un Assistant de modèle

Procédure pas à pas : création d'un élément de projet d'action personnalisé avec un modèle d'élément, partie 2

Procédure pas à pas : création d'un élément de projet de colonnes de sites avec un modèle de projet, partie 2

Création manuelle de packages VSIX

Si vous voulez créer manuellement le package VSIX pour votre extension d'outils SharePoint, exécutez les opérations suivantes :

  1. Créez les fichiers extension.vsixmanifest et [Content_Types].xml, ainsi que le fichier de package VSIX (fichier .vsix). Pour plus d'informations, consultez Anatomy of a VSIX Package et How to: Manually Package an Extension (VSIX Deployment).

  2. Ajoutez votre assembly d'extension au package VSIX. Si votre extension inclut une commande SharePoint, ajoutez également l'assembly qui implémente la commande SharePoint dans le package VSIX.

  3. Modifiez le fichier extension.vsixmanifest :

    • Ajoutez un élément MefComponent sous l'élément Content. Définissez la valeur de l'élément au chemin d'accès relatif de l'assembly qui implémente votre extension dans le package VSIX. Pour plus d'informations, consultez MEFComponent Element (VSX Schema).

    • Si votre extension inclut une commande SharePoint qui appelle le modèle d'objet serveur SharePoint, ajoutez un nouvel élément CustomExtension sous l'élément Content. Définissez la valeur de l'élément au chemin d'accès relatif de l'assembly qui implémente la commande SharePoint dans le package VSIX et définissez l'attribut Type avec la valeur SharePoint.Commands.v4. Pour plus d'informations, consultez CustomExtension Element (VSX Schema).

    • Si votre extension inclut un modèle de projet ou d'élément, ajoutez un nouvel élément ProjectTemplate ou ItemTemplate sous l'élément Content. Affectez la valeur de l'élément au chemin d'accès relatif du dossier qui contient le modèle dans le package VSIX. Pour plus d'informations, consultez ProjectTemplate Element (VSX Schema) et ItemTemplate Element (VSX Schema).

    • Si votre extension inclut un Assistant personnalisé pour un modèle de projet ou un modèle d'élément, ajoutez un nouvel élément Assembly sous l'élément Content. Définissez la valeur de l'élément au chemin d'accès relatif de l'assembly dans le package VSIX et définissez l'attribut AssemblyName avec le nom de l'assembly complet (y compris la version, la culture et le jeton de clé publique). Pour plus d'informations, consultez Assembly Element (VSX Schema).

Exemple

L'exemple suivant illustre le contenu d'un fichier extension.vsixmanifest d'une extension d'outils SharePoint. L'extension est implémentée dans un assembly nommé Contoso.ProjectExtension.dll. L'extension inclut un assembly de commande SharePoint nommé Contoso.ExtensionCommands.dll et un modèle d'élément sous un dossier nommé ItemTemplates dans le package VSIX. Cet exemple suppose que les deux assemblys se trouvent dans le même dossier que le fichier extension.vsixmanifest du package VSIX.

<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
      Version="1.0.0" xmlns="https://schemas.microsoft.com/developer/vsx-schema/2010">
  <Identifier Id="CustomActionProjectItem.Contoso.b1d75407-01bd-459d-9d04-d12e9113af49">
    <Name>Custom Action Project Item</Name>
    <Author>Contoso</Author>
    <Version>1.0</Version>
    <Description xml:space="preserve">A SharePoint project item that represents a custom action.</Description>
    <Locale>1033</Locale>
    <SupportedProducts>
      <VisualStudio Version="10.0">
        <Edition>Pro</Edition>
      </VisualStudio>
    </SupportedProducts>
    <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
  </Identifier>
  <References />
  <Content>
    <MefComponent>Contoso.ProjectExtension.dll</MefComponent>
    <CustomExtension Type="SharePoint.Commands.v4">Contoso.ExtensionCommands.dll</CustomExtension>
    <ItemTemplate>ItemTemplates</ItemTemplate>
  </Content>
</Vsix>

Voir aussi

Concepts

Extension du système de projet SharePoint

Appel des modèles d'objet SharePoint

Autres ressources

Extension du nœud Connexions SharePoint dans l'Explorateur de serveurs

Débogage d'extensions pour les outils SharePoint dans Visual Studio