Partager via


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

Vous pouvez étendre le système de projet SharePoint dans Visual Studio en créant vos propres types d'élément de projet.Au cours de cette procédure, vous aurez l'occasion de créer un élément de projet prévu pour être inséré dans un projet SharePoint dans le but de créer une action personnalisée sur un site SharePoint.L'action personnalisée ajoute un élément de menu au menu Actions du site du site SharePoint.

Cette procédure pas à pas présente les tâches suivantes :

  • Création d'une extension Visual Studio qui définit un nouveau type d'élément de projet SharePoint pour une action personnalisée.Le nouveau type d'élément de projet implémente plusieurs fonctionnalités personnalisées :

    • Menu contextuel très pratique pour commencer à définir des tâches supplémentaires ayant trait à l'élément de projet (affichage d'un concepteur pour l'action personnalisée dans Visual Studio, par exemple).

    • Code exécuté lorsqu'un développeur modifie certaines propriétés de l'élément de projet et le projet dans lequel il figure.

    • Une icône personnalisée qui s'affiche en regard de l'élément de projet dans l'Explorateur de solutions.

  • Création d'un modèle d'élément Visual Studio pour l'élément de projet.

  • Génération d'un package VSIX (Visual Studio Extension) pour déployer le modèle d'élément de projet et l'assembly d'extension.

  • Débogage et test de l'élément de projet.

Il s'agit d'une procédure pas à pas autonome.Après avoir exécuté cette procédure pas à pas, vous pouvez améliorer l'élément de projet en ajoutant un Assistant au modèle d'élément.Pour plus d’informations, consultez Procédure pas à pas : création d'un élément de projet d'action personnalisé avec un modèle d'élément, deuxième partie.

[!REMARQUE]

Vous pouvez télécharger une instance qui contient les projets remplis, de code et d'autres fichiers pour cette procédure pas-à-pas de l'emplacement suivant : https://go.microsoft.com/fwlink/?LinkId=191369.

Composants requis

Vous avez besoin des composants suivants sur l'ordinateur de développement pour terminer cette procédure pas à pas :

Une connaissance des concepts suivants est utile, mais pas obligatoire, pour effectuer cette procédure pas à pas :

Création du projet

Pour exécuter cette procédure pas à pas, vous devez créer trois projets :

  • Un projet VSIX.Ce projet crée le package VSIX permettant de déployer l'élément de projet SharePoint.

  • Un projet de modèle d'élément.Ce projet crée un modèle d'élément qui permet d'ajouter l'élément de projet SharePoint à un projet SharePoint.

  • Un projet de bibliothèque de classes.Ce projet implémente une extension Visual Studio qui définit le comportement de l'élément de projet SharePoint.

Démarrez la procédure pas à pas en créant les projets.

Pour créer le projet VSIX

  1. Démarrez Visual Studio.

  2. Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet.

  3. Dans la liste située en haut de la boîte de dialogue Nouveau projet , assurez -vous que .NET Framework 4,5 est sélectionné.

  4. Dans la boîte de dialogue Nouveau projet , développez les nœuds Visual C# ou Visual Basic , puis sélectionnez le nœud Extensibilité .

    [!REMARQUE]

    Le nœud Extensibilité est disponible uniquement si vous installez le kit de développement Visual Studio.Pour plus d'informations, consultez la section des composants requis plus haut dans cette rubrique.

  5. Sélectionnez le modèle projet VSIX .

  6. Dans la zone Nom , entrez CustomActionProjectItem, puis choisissez le bouton OK .

    Visual Studio ajoute le projet ÉlémentProjetActionPersonnalisée à l'Explorateur de solutions.

Pour créer le projet de modèle d'élément

  1. Dans Explorateur de solutions, ouvrez le menu contextuel du nœud de solution, choisissez Ajouter, puis choisissez Nouveau projet.

    [!REMARQUE]

    Dans les projets Visual Basic, le nœud de la solution s'affiche dans l'Explorateur de solutions à condition d'avoir activé la case à cocher Toujours afficher la solution dans la General, Projects and Solutions, Options Dialog Box.

  2. Dans la liste située en haut de la boîte de dialogue Nouveau projet , assurez -vous que .NET Framework 4,5 est sélectionné.

  3. Dans la boîte de dialogue Nouveau projet , développez les nœuds Visual C# ou Visual Basic , puis sélectionnez le nœud Extensibilité .

  4. Dans la liste des modèles de projet, choisissez le modèle Modèle d'élément visual C# ou Modèle d'élément Visual Basic .

  5. Dans la zone Nom , entrez ItemTemplate, puis choisissez le bouton OK .

    Visual Studio ajoute le projet ItemTemplate à la solution.

Pour créer le projet d'extension

  1. Dans Explorateur de solutions, ouvrez le menu contextuel du nœud de solution, choisissez Ajouter, puis choisissez Nouveau projet.

  2. Dans la liste située en haut de la boîte de dialogue Nouveau projet , assurez -vous que .NET Framework 4,5 est sélectionné.

  3. Dans la boîte de dialogue Nouveau projet , développez les nœuds Visual C# ou Visual Basic , sélectionnez le nœud Fenêtres , puis choisissez le modèle de projet Bibliothèque de classes .

  4. Dans la zone Nom , entrez ProjectItemDefinition, puis choisissez le bouton OK .

    Visual Studio ajoute le projet ProjectItemDefinition à la solution et ouvre le fichier de code Class1 par défaut.

  5. Supprimez le fichier de code Class1 du projet.

Configuration du projet d'extension

Avant d'écrire le code pour définir le type d'élément de projet SharePoint, vous devez ajouter des fichiers de code et des références d'assembly au projet d'extension.

Pour configurer le projet

  1. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ProjectItemDefinition , choisissez Ajouter, puis choisissez Nouvel élément.

  2. Dans la liste d'éléments de projet, choisissez Le fichier de code.

  3. Dans la zone Nom , entrez le nom CustomAction avec l'extension de nom de fichier appropriée, puis choisissez le bouton Ajouter .

  4. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ProjectItemDefinition , puis choisissez Ajouter une référence.

  5. Dans la boîte de dialogue gestionnaire de référence – ProjectItemDefinition , sélectionnez le nœud Assemblys , puis sélectionnez le nœud framework .

  6. Activez la case à cocher en regard de les assemblys suivants :

    • System.ComponentModel.Composition

    • System.Windows.Forms

  7. Sélectionnez le nœud Extensions , activez la case à cocher en regard de l'assembly Microsoft.VisualStudio.Sharepoint, puis choisissez le bouton OK .

Définition du nouveau type d'élément de projet SharePoint

Créez une classe qui implémente l'interface ISharePointProjectItemTypeProvider pour définir le comportement du nouveau type d'élément de projet.Implémentez cette interface chaque fois que vous souhaitez définir un nouveau type d'élément de projet.

Pour définir le nouveau type d'élément de projet SharePoint

  1. Dans le projet ProjectItemDefinition, ouvrez le fichier de code CustomAction.

  2. Remplacez le code de ce fichier par le code suivant.

    Imports System
    Imports System.Diagnostics
    Imports System.ComponentModel
    Imports System.ComponentModel.Composition
    Imports Microsoft.VisualStudio.SharePoint
    
    Namespace Contoso.SharePointProjectItems.CustomAction
    
        ' Export attribute: Enables Visual Studio to discover and load this extension.
        ' SharePointProjectItemType attribute: Specifies the ID for this new project item type. This string must 
        '     match the value of the Type attribute of the ProjectItem element in the .spdata file for 
        '     the project item.
        ' SharePointProjectItemIcon attribute: Specifies the icon to display with this project item in Solution Explorer.
        ' CustomActionProjectItemTypeProvider class: Defines a new type of project item that can be used to create a custom 
        '     action on a SharePoint site.
        <Export(GetType(ISharePointProjectItemTypeProvider))> _
        <SharePointProjectItemType("Contoso.CustomAction")> _
        <SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")> _
        Partial Friend Class CustomActionProjectItemTypeProvider
            Implements ISharePointProjectItemTypeProvider
    
            Private WithEvents projectItemTypeDefinition As ISharePointProjectItemTypeDefinition
    
            ' Configures the behavior of the project item type.
            Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _
                Implements ISharePointProjectItemTypeProvider.InitializeType
    
                projectItemTypeDefinition.Name = "CustomAction"
                projectItemTypeDefinition.SupportedDeploymentScopes = _
                    SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All
                Me.projectItemTypeDefinition = projectItemTypeDefinition
            End Sub
    
            Private Const DesignerMenuItemText As String = "View Custom Action Designer"
    
            Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object, _
                ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemMenuItemsRequested
    
                Dim viewDesignerMenuItem As IMenuItem = e.ViewMenuItems.Add(DesignerMenuItemText)
                AddHandler viewDesignerMenuItem.Click, AddressOf MenuItemClick
            End Sub
    
            Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
                Dim projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem)
                Dim message As String = String.Format("You clicked the menu on the {0} item. " & _
                    "You could perform some related task here, such as displaying a designer " & _
                    "for the custom action.", projectItem.Name)
                System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action")
            End Sub
    
            Private Sub ProjectItemNameChanged(ByVal Sender As Object, ByVal e As NameChangedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemNameChanged
                Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem)
                Dim message As String = String.Format("The name of the {0} item changed to: {1}", _
                    e.OldName, projectItem.Name)
                projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message)
            End Sub
        End Class
    End Namespace
    
    using System;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.SharePoint;
    
    namespace Contoso.SharePointProjectItems.CustomAction
    {
        // Enables Visual Studio to discover and load this extension.
        [Export(typeof(ISharePointProjectItemTypeProvider))]
    
        // Specifies the ID for this new project item type. This string must match the value of the 
        // Type attribute of the ProjectItem element in the .spdata file for the project item.
        [SharePointProjectItemType("Contoso.CustomAction")]
    
        // Specifies the icon to display with this project item in Solution Explorer.
        [SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")]
    
        // Defines a new type of project item that can be used to create a custom action on a SharePoint site.
        internal partial class CustomActionProjectItemTypeProvider : ISharePointProjectItemTypeProvider
        {
            // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type.
            public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition)
            {
                projectItemTypeDefinition.Name = "CustomAction";
                projectItemTypeDefinition.SupportedDeploymentScopes =
                    SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web;
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All;
    
                projectItemTypeDefinition.ProjectItemNameChanged += ProjectItemNameChanged;
                projectItemTypeDefinition.ProjectItemMenuItemsRequested += ProjectItemMenuItemsRequested;
            }
    
            private const string designerMenuItemText = "View Custom Action Designer";
    
            private void ProjectItemMenuItemsRequested(object sender, SharePointProjectItemMenuItemsRequestedEventArgs e)
            {
                e.ViewMenuItems.Add(designerMenuItemText).Click += MenuItemClick;
            }
    
            private void MenuItemClick(object sender, MenuItemEventArgs e)
            {
                ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner;
                string message = String.Format("You clicked the menu on the {0} item. " +
                    "You could perform some related task here, such as displaying a designer " +
                    "for the custom action.", projectItem.Name);
                System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action");
            }
    
            private void ProjectItemNameChanged(object sender, NameChangedEventArgs e)
            {
                ISharePointProjectItem projectItem = (ISharePointProjectItem)sender;
                string message = String.Format("The name of the {0} item changed to: {1}",
                    e.OldName, projectItem.Name);
                projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message);
            }
        }
    }
    

Création d'une icône pour l'élément de projet dans l'Explorateur de solutions

Lorsque vous créez un élément de projet SharePoint personnalisé, vous pouvez associer une image (icône ou fichier bitmap) à l'élément de projet.Cette image s'affiche en regard de l'élément de projet dans l'Explorateur de solutions.

Dans la procédure suivante, vous aurez l'occasion de créer une icône pour l'élément de projet et d'incorporer l'icône dans l'assembly d'extension.Cette icône est référencée par l'attribut SharePointProjectItemIconAttribute de la classe CustomActionProjectItemTypeProvider que vous avez créée précédemment.

Pour créer une icône personnalisée pour l'élément de projet

  1. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ProjectItemDefinition , choisissez Ajouter, puis choisissez nouvel élément….

  2. Dans la liste d'éléments de projet, sélectionnez l'élément Fichier icône .

    [!REMARQUE]

    Dans les projets Visual Basic, vous devez choisir le nœud Général pour afficher l'élément Fichier icône .

  3. Dans la zone Nom , entrez CustomAction_SolutionExplorer.ico, puis choisissez le bouton Ajouter .

    La nouvelle icône s'ouvre dans l'Éditeur d'images.

  4. Modifiez la version 16x16 du fichier icône de manière à reconnaître son design, puis enregistrez le fichier icône.

  5. Dans Explorateur de solutions, choisissez CustomAction_SolutionExplorer.ico.

  6. Dans la fenêtre Propriétés , cliquez sur la flèche en regard de la propriété Action de génération .

  7. Dans la liste qui apparaît, sélectionnez ressource incorporée.

Point de contrôle

À ce stade de la procédure, l'intégralité du code de l'élément de projet fait désormais partie du projet.Générez le projet pour vérifier sa compilation sans erreur.

Pour générer votre projet

  • Ouvrez le menu contextuel du projet ProjectItemDefinition et choisissez Générer.

Création d'un modèle d'élément Visual Studio

Pour donner à d'autres développeurs la possibilité d'utiliser votre élément de projet, vous devez créer un modèle de projet ou un modèle d'élément.Les développeurs utilisent ces modèles dans Visual Studio pour créer une instance de votre élément de projet en élaborant un nouveau projet ou en ajoutant un élément à un projet existant.Pour cette procédure pas à pas, utilisez le projet ItemTemplate pour configurer votre élément de projet.

Pour créer le modèle d'élément

  1. Supprimez le fichier de code Class1 du projet ItemTemplate.

  2. Dans le projet ItemTemplate, ouvrez le fichier ItemTemplate.vstemplate.

  3. Remplacez le contenu du fichier par le code XML ci-dessous, puis enregistrez et fermez le fichier.

    [!REMARQUE]

    Le code XML ci-dessous correspond à un modèle d'élément Visual C#.Si vous créez un modèle d'élément Visual Basic, remplacez la valeur de l'élément ProjectType par VisualBasic.

    <?xml version="1.0" encoding="utf-8"?>
    <VSTemplate Version="2.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
      <TemplateData>
        <DefaultName>CustomAction</DefaultName>
        <Name>Custom Action</Name>
        <Description>SharePoint Custom Action by Contoso</Description>
        <ProjectType>CSharp</ProjectType>
        <SortOrder>1000</SortOrder>
        <Icon>ItemTemplate.ico</Icon>
        <ProvideDefaultName>true</ProvideDefaultName>
      </TemplateData>
      <TemplateContent>
        <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\Elements.xml">Elements.xml</ProjectItem>
        <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\SharePointProjectItem.spdata">CustomAction.spdata</ProjectItem>
      </TemplateContent>
    </VSTemplate>
    

    Ce fichier définit le contenu et le comportement du modèle d'élément.Pour en savoir plus sur le contenu de ce fichier, consultez Référence du schéma de modèle Visual Studio.

  4. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ItemTemplate , choisissez Ajouter, puis choisissez Nouvel élément.

  5. Dans la boîte de dialogue Ajouter un nouvel élément , choisissez le modèle fichier texte .

  6. Dans la zone Nom , entrez CustomAction.spdata, puis choisissez le bouton Ajouter .

  7. Ajoutez le code XML suivant au fichier CustomAction.spdata, puis enregistrez et fermez le fichier.

    <?xml version="1.0" encoding="utf-8"?>
    <ProjectItem Type="Contoso.CustomAction" DefaultFile="Elements.xml" 
     xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel">
      <Files>
        <ProjectItemFile Source="Elements.xml" Target="$fileinputname$\" Type="ElementManifest" />
      </Files>
    </ProjectItem>
    

    Ce fichier contient des informations relatives aux fichiers contenus dans l'élément de projet.La chaîne affectée à l'attribut Type de l'élément ProjectItem doit être identique à celle transmise au SharePointProjectItemTypeAttribute de la définition d'élément de projet (classe CustomActionProjectItemTypeProvider que vous avez créée précédemment dans cette procédure).Pour plus d'informations sur le contenu des fichiers .spdata, consultez Référence du schéma d'élément de projet SharePoint.

  8. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ItemTemplate , choisissez Ajouter, puis choisissez Nouvel élément.

  9. Dans la boîte de dialogue Ajouter un nouvel élément , choisissez le modèle Fichier XML .

  10. Dans la zone Nom , entrez Elements.xml, puis choisissez le bouton Ajouter .

  11. Remplacez le contenu du fichier Elements.xml par le code XML suivant, puis enregistrez et fermez le fichier.

    <?xml version="1.0" encoding="utf-8" ?>
    <Elements Id="$guid8$" xmlns="https://schemas.microsoft.com/sharepoint/">
      <CustomAction Id="Replace this with a GUID or some other unique string"
                    GroupId="SiteActions"
                    Location="Microsoft.SharePoint.StandardMenu"
                    Sequence="1000"
                    Title="Replace this with your title"
                    Description="Replace this with your description" >
        <UrlAction Url="~site/Lists/Tasks/AllItems.aspx"/>
      </CustomAction>
    </Elements>
    

    Ce fichier définit une action personnalisée par défaut qui crée un élément de menu dans le menu Actions du site du site SharePoint.Lorsqu'un utilisateur sélectionne l'élément de menu, l'URL spécifiée dans l'élément d' UrlAction s'ouvre dans le navigateur web.Pour plus d'informations sur les éléments XML que vous pouvez utiliser pour définir une action personnalisée, consultez Définitions d'actions personnalisées.

  12. Vous pouvez éventuellement ouvrir le fichier ItemTemplate.ico et le modifier de façon à ce que sa conception soit reconnaissable.Cette icône s'affichera en regard de l'élément de projet dans la boîte de dialogue Ajouter un nouvel élément.

  13. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ItemTemplate , puis choisissez Décharger le projet.

  14. Ouvrez le menu contextuel du projet ItemTemplate de nouveau, puis choisissez modification ItemTemplate.csproj ou modification ItemTemplate.vbproj.

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

    <VSTemplate Include="ItemTemplate.vstemplate">
    
  16. Remplacez cet élément d' VSTemplate par le code XML suivant, puis enregistrez et fermez le fichier.

    <VSTemplate Include="ItemTemplate.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 d'élément 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 ouvrez la boîte de dialogue Ajouter un nouvel élément , développez le nœud SharePoint , puis sélectionnez le nœud 2010 .

  17. Dans Explorateur de solutions, ouvrez le menu contextuel du projet ItemTemplate , puis choisissez Recharger le projet.

Création d'un package VSIX pour déployer l'élément de projet

Pour déployer l'extension, utilisez le projet VSIX inclus dans votre solution pour créer un package VSIX.En premier lieu, configurez le package VSIX en modifiant le fichier source.extension.vsixmanifest qui est inclus dans le projet VSIX.Ensuite, créez le package VSIX en générant la solution.

Pour configurer et créer le package VSIX

  1. Dans Explorateur de solutions, ouvrez le menu contextuel du fichier source.extension.vsixmanifest dans le projet élémentprojetactionpersonnalisée, puis choisissez Ouvrir.

    Visual Studio ouvre le fichier dans l'éditeur de manifeste.Le fichier source.extension.vsixmanifest est la base du fichier extension.vsixmanifest que tous les packages VSIX ont besoin.Pour plus d'informations sur ce fichier, consultez Référence de schéma d'extensions VSIX.

  2. Dans la zone nom de produit , entrez Élément de projet action personnalisée.

  3. Dans la zone Author , entrez Contoso.

  4. Dans la zone Description , entrez un élément de projet SharePoint qui représente une action personnalisée.

  5. Sous l'onglet Composants , choisissez le bouton Nouveau .

    La boîte de dialogue ajoutez le nouveau ressource s'affiche.

  6. Dans la liste Type , choisissez Microsoft.VisualStudio.ItemTemplate.

    [!REMARQUE]

    Cette valeur correspond à l'élément ItemTemplate dans le fichier extension.vsixmanifest.Cet élément identifie le sous-dossier du package VSIX qui contient le modèle d'élément de projet.Pour plus d’informations, consultez ItemTemplate Element.

  7. Dans la liste Source , choisissez un projet dans la solution actuelle.

  8. Dans la liste Projet , choisissez ItemTemplate, puis choisissez le bouton OK .

  9. Dans l'onglet Composants , choisissez le bouton Nouveau de nouveau.

    La boîte de dialogue ajoutez le nouveau ressource s'affiche.

  10. Dans la liste Type , choisissez Microsoft.VisualStudio.MefComponent.

    [!REMARQUE]

    Cette valeur correspond à l'élément MefComponent dans le fichier extension.vsixmanifest.Cet élément spécifie le nom d'un assembly d'extension dans le package VSIX.Pour plus d’informations, consultez MEFComponent Element.

  11. Dans la liste Source , choisissez un projet dans la solution actuelle.

  12. Dans la liste Projet , choisissez ProjectItemDefinition.

  13. Cliquez sur le bouton OK.

  14. Dans la barre de menus, sélectionnez Générer, Générer la solution, puis vérifiez que le projet se compile sans erreurs.

  15. Assurez -vous que le dossier de sortie de la génération pour le projet élémentprojetactionpersonnalisée contient le fichier de CustomActionProjectItem.vsix.

    Par défaut, le dossier de sortie de la génération est le dossier ..\bin\Debug qui figure dans le dossier contenant le projet CustomActionProjectItem.

Test de l'élément de projet

Vous êtes maintenant prêt à tester l'élément de projet.Commencez à déboguer la solution CustomActionProjectItem dans l'instance expérimentale de Visual Studio.Testez ensuite l'élément de projet Action personnalisée dans un projet SharePoint de l'instance expérimentale de Visual Studio.Enfin, générez et exécutez le projet SharePoint pour vous assurer que l'action personnalisée fonctionne comme prévu.

Pour commencer à déboguer la solution

  1. Redémarrez Visual Studio avec les informations d'identification d'administration, puis ouvrez la solution élémentprojetactionpersonnalisée.

  2. Ouvrez le fichier de code CustomAction, puis ajoutez un point d'arrêt sur la première ligne de code dans la méthode d' InitializeType .

  3. Choisissez la clé F5 pour démarrer le débogage.

    Visual Studio installe l'extension sous %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Élément de projet d'action personnalisée\1.0 et démarre une instance expérimentale de Visual Studio.Vous testerez l'élément de projet dans cette instance de Visual Studio.

Pour tester l'élément de projet dans Visual Studio

  1. Dans l'instance expérimentale de Visual Studio, dans le menu, choisissez Fichier, Nouveau, Projet.

  2. Développez Visual C# ou Visual Basic (selon le langage qui pris en charge par votre modèle d'élément), développez SharePoint, puis sélectionnez le nœud 2010 .

  3. Dans la liste des modèles de projet, choisissez Projet SharePoint 2010.

  4. Dans la zone Nom , entrez CustomActionTest, puis choisissez le bouton OK .

  5. Dans Assistant personnalisation de SharePoint, entrez l'URL du site que vous souhaitez utiliser pour le débogage, puis choisissez le bouton Terminer .

  6. Dans Explorateur de solutions, ouvrez le menu contextuel du nœud de projet, choisissez Ajouter, puis choisissez Nouvel élément.

  7. Dans la boîte de dialogue Ajouter un nouvel élément , sélectionnez le nœud 2010 sous le nœud SharePoint .

    Vérifiez que l'élément Action personnalisée s'affiche dans la liste des éléments de projet.

  8. Sélectionnez l'élément action personnalisée , puis choisissez le bouton Ajouter .

    Visual Studio ajoute un élément nommé CustomAction1 à votre projet et ouvre le fichier Elements.xml dans l'éditeur.

  9. Assurez-vous que le code dans l'autre instance de Visual Studio s'arrête au niveau du point d'arrêt que vous avez défini précédemment dans la méthode InitializeType.

  10. Choisissez la clé F5 pour continuer à déboguer le projet.

  11. Dans l'instance expérimentale de Visual Studio, dans Explorateur de solutions, ouvrez le menu contextuel du nœud CustomAction1 , puis choisissez Concepteur personnalisé d'action de vue.

  12. Vérifiez qu'un message s'affiche, puis choisissez le bouton OK .

    Vous pouvez utiliser ce menu contextuel pour proposer des options ou des commandes supplémentaires aux développeurs (en leur permettant, par exemple, d'afficher un concepteur pour l'action personnalisée).

  13. Dans la barre de menus, sélectionnez Affichage, Sortie.

    La fenêtre Sortie s'ouvre.

  14. Dans Explorateur de solutions, ouvrez le menu contextuel pour l'élément CustomAction1 , puis remplacez son nom par MyCustomAction.

    Dans la fenêtre Sortie , un message de confirmation s'affiche.Ce message est écrit par le gestionnaire d'événements d' ProjectItemNameChanged que vous avez défini dans la classe d' CustomActionProjectItemTypeProvider .Vous pouvez gérer cet événement et d'autres événements d'élément de projet dans le but de prévoir un comportement personnalisé lorsque le développeur modifie l'élément de projet.

Pour tester l'action personnalisée dans SharePoint

  1. Dans l'instance expérimentale de Visual Studio, ouvrez le fichier Elements.xml qui est un enfant de l'élément de projet MyCustomAction .

  2. Dans le fichier Elements.xml, apportez les modifications suivantes, puis enregistrez le fichier :

    • Dans l'élément d' CustomAction , affectez à l'attribut d' Id à un GUID ou une autre chaîne unique comme le montre l'exemple suivant :

      Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"
      
    • Dans l'élément d' CustomAction , affectez à l'attribut d' Title comme le montre l'exemple suivant :

      Title="SharePoint Developer Center"
      
    • Dans l'élément d' CustomAction , affectez à l'attribut d' Description comme le montre l'exemple suivant :

      Description="Opens the SharePoint Developer Center Web site."
      
    • Dans l'élément d' UrlAction , affectez à l'attribut d' Url comme le montre l'exemple suivant :

      Url="https://msdn.microsoft.com/sharepoint/default.aspx"
      
  3. Choisissez la touche F5.

    L'action personnalisée est empaquetée et déployée sur le site SharePoint spécifié dans la propriété Recherchez l'URL du projet.Le navigateur web s'ouvre à la page par défaut de ce site.

    [!REMARQUE]

    Si la boîte de dialogue Débogage de script est désactivé s'affiche, cliquez sur le bouton oui pour continuer à déboguer le projet.

  4. Dans le menu Recherchez les actions , choisissez Centre de développement SharePoint, vérifiez que le navigateur ouvre le site Web https://msdn.microsoft.com/sharepoint/default.aspx, puis fermez le navigateur web.

Nettoyage de l'ordinateur de développement

Une fois le test de l'élément de projet terminé, supprimez le modèle d'élément de projet de l'instance expérimentale de Visual Studio.

Pour nettoyer l'ordinateur de développement

  1. Dans l'instance expérimentale de Visual Studio, dans le menu, choisissez Outils, Extensions et mises à jour.

    La boîte de dialogue Extensions et mises à jour s'ouvre.

  2. Dans la liste d'extensions, choisissez Élément de projet action personnalisée, puis choisissez le bouton Désinstaller .

  3. Dans la boîte de dialogue qui s'affiche, cliquez sur le bouton oui pour confirmer que vous voulez désinstaller l'extension.

  4. Choisissez le bouton Redémarrez maintenant pour terminer la désinstallation.

  5. Fermez l'instance expérimentale de Visual Studio et l'instance dans laquelle la solution élémentprojetactionpersonnalisée est ouverte.

Étapes suivantes

Après avoir terminé cette procédure pas à pas, vous pouvez ajouter un Assistant au modèle d'élément.Lorsqu'un utilisateur ajoute un élément de projet action personnalisée à un projet SharePoint, l'assistant collecte également des informations sur l'action (telle que son emplacement et l'URL vers lequel naviguer lorsque l'action est sélectionné) et ajoute ces informations dans le fichier Elements.xml du nouvel élément de projet.Pour plus d’informations, consultez Procédure pas à pas : création d'un élément de projet d'action personnalisé avec un modèle d'élément, deuxième partie.

Voir aussi

Tâches

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

Création d'une icône ou d'une autre image (Éditeur d'images pour les icônes)

Référence

Référence du schéma de modèle Visual Studio

Éditeur d'images pour les icônes

Concepts

Définition de types d'éléments de projet SharePoint personnalisés

Création de modèles d'élément et de modèles de projet pour les éléments de projet SharePoint

Utilisation du service de projet SharePoint