Partager via


Comment : créer une extension d'élément de projet SharePoint

Créez une extension d'élément de projet si vous avez l'intention d'ajouter des fonctionnalités à un élément de projet SharePoint déjà installé dans Visual Studio. Pour plus d'informations, consultez Extension d'éléments de projet SharePoint.

Pour créer une extension d'élément de projet

  1. Créez un projet Bibliothèque de classes.

  2. Ajoutez des références aux assemblys suivants :

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Définissez une classe qui implémente l'interface ISharePointProjectItemTypeExtension.

  4. Ajouter les attributs suivants à la classe :

  5. Dans votre implémentation de la méthode Initialize, utilisez les membres du paramètre projectItemType pour définir le comportement de votre extension. Ce paramètre est un objet ISharePointProjectItemType qui fournit l'accès aux événements définis dans les interfaces ISharePointProjectItemEvents et ISharePointProjectItemFileEvents. Pour accéder à une instance spécifique du type d'élément de projet que vous étendez, gérez les événements ISharePointProjectItemEvents tels que ProjectItemAdded et ProjectItemInitialized.

Exemple

L'exemple de code suivant montre comment créer une extension simple pour l'élément de projet Récepteur d'événements. Chaque fois que l'utilisateur ajoute un élément de projet Récepteur d'événements à un projet SharePoint, cette extension écrit un message dans les fenêtres Sortie et Liste d'erreurs.

Imports Microsoft.VisualStudio.SharePoint
Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Composition

Namespace Contoso.ExampleProjectItemExtension

    <Export(GetType(ISharePointProjectItemTypeExtension))> _
    <SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")> _
    Friend Class ExampleProjectItemExtension
        Implements ISharePointProjectItemTypeExtension

        Private Sub Initialize(ByVal projectItemType As ISharePointProjectItemType) _
            Implements ISharePointProjectItemTypeExtension.Initialize
            AddHandler projectItemType.ProjectItemAdded, AddressOf ProjectItemAdded
        End Sub

        Private Sub ProjectItemAdded(ByVal Sender As Object, ByVal e As SharePointProjectItemEventArgs)
            Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem)
            Dim Message As String = String.Format("An Event Handler project item named {0} was added to the {1} project.", _
                projectItem.Name, projectItem.Project.Name)
            projectItem.Project.ProjectService.Logger.WriteLine(Message, LogCategory.Message)
        End Sub
    End Class
End Namespace
using Microsoft.VisualStudio.SharePoint;
using System;
using System.ComponentModel;
using System.ComponentModel.Composition;

namespace Contoso.ExampleProjectItemExtension
{
    [Export(typeof(ISharePointProjectItemTypeExtension))]
    [SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")]
    internal class ExampleProjectItemExtension : ISharePointProjectItemTypeExtension
    {
        public void Initialize(ISharePointProjectItemType projectItemType)
        {
            projectItemType.ProjectItemAdded += projectItemType_ProjectItemAdded;
        }

        void projectItemType_ProjectItemAdded(object sender, SharePointProjectItemEventArgs e)
        {
            ISharePointProjectItem projectItem = (ISharePointProjectItem)sender;
            string message = String.Format("An Event Handler project item named {0} was added to the {1} project.",
                projectItem.Name, projectItem.Project.Name);
            projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message);
        }
    }
}

Cet exemple utilise le service de projet SharePoint pour écrire le message dans les fenêtres Sortie et Liste d'erreurs. Pour plus d'informations, consultez Utilisation du service de projet SharePoint.

Compilation du code

Cet exemple nécessite des références aux assemblys suivants :

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Déploiement de l'extension

Pour déployer l'extension, créez un package d'extension Visual Studio (VSIX) pour l'assembly et tous les autres fichiers que vous voulez distribuer avec l'extension. Pour plus d'informations, consultez Déploiement d'extensions pour les outils SharePoint dans Visual Studio.

Voir aussi

Tâches

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

Autres ressources

Extension d'éléments de projet SharePoint