Partager via


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

Cette procédure pas à pas explique comment appeler le modèle d'objet client SharePoint à partir d'une extension pour le nœud Connexions SharePoint dans l'Explorateur de serveurs. Pour plus d'informations sur l'utilisation du modèle d'objet client SharePoint, consultez Appel des modèles d'objet SharePoint.

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

  • Création d'une extension Visual Studio ayant pour effet d'étendre le nœud Connexions SharePoint de l'Explorateur de serveurs des façons suivantes :

    • Ajout d'un nouveau nœud Galerie de composants WebPart sous chaque nœud de site SharePoint dans l'Explorateur de serveurs. Ce nouveau nœud contient les nœuds enfants représentant chaque composant WebPart dans la galerie de composants WebPart sur le site.

    • Définition d'un nouveau type de nœud représentant une instance WebPart. Ce nouveau type de nœud constitue la base des nœuds enfants sous le nouveau nœud Galerie de composants WebPart. Le nouveau type de nœud WebPart affiche les informations relatives au composant WebPart qu'il représente dans la fenêtre Propriétés.

  • Génération d'un package VSIX (Visual Studio Extension) pour déployer l'extension.

  • Débogage et test de l'extension.

Notes

L'extension que vous créez au cours de cette procédure est très semblable à celle définie à la section Procédure pas à pas : extension de l'Explorateur de serveurs pour afficher des WebParts. À la différence de cette dernière qui fait appel au modèle d'objet serveur SharePoint, la présente procédure permet d'effectuer les mêmes tâches à l'aide du modèle d'objet client.

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 deux projets :

  • Un projet VSIX pour créer le package VSIX afin de déployer l'extension Explorateur de serveurs

  • Un projet de bibliothèque de classes qui implémente l'extension Explorateur de serveurs.

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 le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

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

    Notes

    Le nœud Extensibilité est disponible uniquement si vous installez le Kit de développement Visual Studio 2010 SDK. Pour plus d'informations, reportez-vous à la section traitant des conditions requises ci-dessus.

  4. Dans la zone de liste déroulante en haut de la boîte de dialogue, sélectionnez .NET Framework 4. Les extensions des outils SharePoint nécessitent des fonctionnalités dans cette version du .NET Framework.

  5. Cliquez sur le modèle Projet VSIX.

  6. Dans la zone Nom, tapez WebPartNode.

  7. Cliquez sur OK.

    Visual Studio ajoute le projet WebPartNode à l'Explorateur de solutions.

Pour créer le projet d'extension

  1. Cliquez avec le bouton droit sur le nœud de la solution dans l'Explorateur de solutions, cliquez sur Ajouter, puis sur Nouveau projet.

    Notes

    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 Général, Projets et solutions, boîte de dialogue Options.

  2. Dans la boîte de dialogue Nouveau projet, développez le nœud Visual C# ou Visual Basic, puis cliquez sur Fenêtres.

  3. Dans la zone de liste déroulante en haut de la boîte de dialogue, sélectionnez .NET Framework 4.

  4. Sélectionnez le modèle de projet Bibliothèque de classes.

  5. Dans la zone de texte Nom, tapez WebPartNodeExtension.

  6. Cliquez sur OK.

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

  7. Supprimez le fichier de code Class1 du projet.

Configuration du projet d'extension

Avant d'écrire le code pour créer l'extension, vous devez ajouter des fichiers de code et des références d'assembly à votre projet et mettre à jour l'espace de noms par défaut.

Pour configurer le projet

  1. Dans le projet WebPartNodeExtension, ajoutez deux fichiers de code portant les noms suivants :

    • SiteNodeExtension

    • WebPartNodeTypeProvider

  2. Dans le menu Projet, cliquez sur Ajouter une référence.

  3. Sous l'onglet .NET, appuyez sur Ctrl et sélectionnez les assemblys suivants, puis cliquez sur OK.

    • Microsoft.SharePoint.Client

    • Microsoft.SharePoint.Client.Runtime

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

    • System.Windows.Forms

  4. Dans le menu Projet, sélectionnez Propriétés de WebPartNodeExtension.

    Le Concepteur de projets s'ouvre.

  5. Cliquez sur l'onglet Application.

  6. Dans la zone Espace de noms par défaut (C#) ou Espace de noms racine (Visual Basic), tapez ServerExplorer.SharePointConnections.WebPartNode.

Création d'icônes pour les nouveaux nœuds

Créez deux icônes pour l'extension Explorateur de serveurs : une pour le nouveau nœud Galerie de composants WebPart, et une autre pour chaque nœud WebPart enfant sous le nœud Galerie de composants WebPart. Vous apprendrez un peu plus loin à écrire du code afin d'associer ces icônes aux nœuds.

Pour créer des icônes pour les nœuds

  1. Dans le Concepteur de projets du projet WebPartNodeExtension, cliquez sur l'onglet Ressources.

  2. Cliquez sur Ce projet ne contient pas de fichier de ressources par défaut. Cliquez ici pour créer un.

    Visual Studio crée un fichier de ressources et l'ouvre dans le concepteur.

  3. Dans la partie supérieure du concepteur, cliquez sur la flèche déroulante au niveau du bouton Ajouter, puis cliquez sur Ajouter une nouvelle icône.

  4. Donnez le nom WebPartsNode à la nouvelle icône, puis cliquez sur Ajouter.

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

  5. Modifiez la version 16x16 de l'icône de manière à reconnaître facilement son design.

  6. Cliquez sur la version 32x32 de l'icône.

  7. Dans le menu Image, cliquez sur Supprimer le type d'image.

  8. Répétez les étapes 3 à 7 pour ajouter une deuxième icône aux ressources du projet. Nommez cette icône WebPart.

  9. Dans l'Explorateur de solutions, sous le dossier Ressources du projet WebPartNodeExtension, sélectionnez WebPartsNode.ico.

  10. Dans la fenêtre Propriétés, cliquez sur la liste déroulante en regard de la propriété Action de génération, puis sélectionnez Ressource incorporée.

  11. Répétez les deux dernières étapes pour WebPart.ico.

Ajout du nœud Galerie de composants WebPart à l'Explorateur de serveurs

Créez une classe ayant pour effet d'ajouter le nouveau nœud Galerie de composants WebPart à chaque nœud du site SharePoint. Pour ajouter le nouvel nœud, la classe implémente l'interface IExplorerNodeTypeExtension. Mettez en œuvre cette interface chaque fois que vous comptez améliorer le comportement d'un nœud existant dans l'Explorateur de serveurs, comme lorsque vous ajoutez un nouveau nœud enfant à un nœud.

Pour ajouter le nœud Galerie de composants WebPart à l'Explorateur de serveurs

  1. Dans le projet WebPartNodeExtension, double-cliquez sur le fichier de code SiteNodeExtension.

  2. Collez le code suivant dans ce fichier.

    Notes

    Après l'ajout de ce code, le projet comportera des erreurs de compilation. Ces erreurs disparaîtront lorsque vous ajouterez du code dans les étapes ultérieures.

    Imports System.Collections.Generic
    Imports System.ComponentModel.Composition
    Imports Microsoft.SharePoint.Client
    Imports Microsoft.VisualStudio.SharePoint
    Imports Microsoft.VisualStudio.SharePoint.Explorer
    
    Namespace ServerExplorer.SharePointConnections.WebPartNode
    
        ' Export attribute: Enables Visual Studio to discover and load this extension.
        ' ExplorerNodeType attribute: Indicates that this class extends SharePoint site nodes in Server Explorer.
        ' SiteNodeExtension class: Represents an extension of SharePoint site nodes in Server Explorer.
        <Export(GetType(IExplorerNodeTypeExtension))> _
        <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
        Friend Class SiteNodeExtension
            Implements IExplorerNodeTypeExtension
    
            Private siteUrl As System.Uri = Nothing
    
            Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
                Implements IExplorerNodeTypeExtension.Initialize
    
                ' The NodeChildrenRequested event is raised when the user expands the
                ' SharePoint site node in Server Explorer.
                AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
            End Sub
    
            ' Creates the new Web Part Gallery node with the specified icon.
            Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
    
                ' Get the site URL so that it can be used later to access the site
                ' by using the SharePoint client object model.
                siteUrl = e.Node.Context.SiteUrl
    
                ' The CreateWebPartNodes argument is a delegate that Visual Studio calls 
                ' to create the child nodes under the Web Part Gallery node.
                e.Node.ChildNodes.AddFolder("Web Part Gallery", My.Resources.WebPartsNode.ToBitmap(), _
                    AddressOf CreateWebPartNodes)
            End Sub
    
            ' Creates individual Web Part nodes under the new Web Part Gallery node.
            Private Sub CreateWebPartNodes(ByVal parentNode As IExplorerNode)
    
                ' Use the SharePoint client object model to get items from the Web Part gallery.
                Dim Context As ClientContext = New ClientContext(siteUrl.AbsoluteUri)
                Dim WebPartsGallery As List = Context.Web.GetCatalog(CType(ListTemplateType.WebPartCatalog, Integer))
                Dim WebParts As ListItemCollection = WebPartsGallery.GetItems(New CamlQuery())
    
                ' Request the FieldValuesAsText property values with the Web Part items.
                Context.Load(WebParts, Function(listItems) listItems.Include(Function(i) i.FieldValuesAsText))
                Context.ExecuteQuery()
    
                If WebParts IsNot Nothing Then
                    For Each WebPart As ListItem In WebParts
    
                        ' Create a new annotation object to store the current Web Part item with the new node.
                        Dim Annotations = New Dictionary(Of Object, Object)()
                        Annotations.Add(GetType(ListItem), WebPart)
    
                        ' Create the new node for the current Web Part item.
                        parentNode.ChildNodes.Add(WebPartNodeTypeProvider.WebPartNodeTypeId, _
                            WebPart.FieldValuesAsText.FieldValues("Title"), Annotations)
                    Next
                End If
            End Sub
        End Class
    End Namespace
    
    using System.Collections.Generic;
    using System.ComponentModel.Composition;
    using Microsoft.SharePoint.Client;
    using Microsoft.VisualStudio.SharePoint;
    using Microsoft.VisualStudio.SharePoint.Explorer;
    
    namespace ServerExplorer.SharePointConnections.WebPartNode
    {
        // Enables Visual Studio to discover and load this extension.
        [Export(typeof(IExplorerNodeTypeExtension))]        
    
        // Indicates that this class extends SharePoint site nodes in Server Explorer.
        [ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
    
        // Represents an extension of SharePoint site nodes in Server Explorer.
        internal class SiteNodeExtension : IExplorerNodeTypeExtension
        {
            private System.Uri siteUrl = null;
    
            public void Initialize(IExplorerNodeType nodeType)
            {
                // The NodeChildrenRequested event is raised when the user expands the
                // SharePoint site node in Server Explorer.
                nodeType.NodeChildrenRequested += NodeChildrenRequested;
            }
    
            // Creates the new Web Part Gallery node with the specified icon.
            private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
            {
                // Get the site URL so that it can be used later to access the site
                // by using the SharePoint client object model.
                siteUrl = e.Node.Context.SiteUrl;
    
                // The CreateWebPartNodes argument is a delegate that Visual Studio calls 
                // to create the child nodes under the Web Part Gallery node.
                e.Node.ChildNodes.AddFolder("Web Part Gallery", Properties.Resources.WebPartsNode.ToBitmap(), 
                    CreateWebPartNodes);
            }
    
            // Creates individual Web Part nodes under the new Web Part Gallery node.
            private void CreateWebPartNodes(IExplorerNode parentNode)
            {
                // Use the SharePoint client object model to get items from the Web Part gallery.
                ClientContext context = new ClientContext(siteUrl.AbsoluteUri);
                List webPartsGallery = context.Web.GetCatalog((int)ListTemplateType.WebPartCatalog);
                ListItemCollection webParts = webPartsGallery.GetItems(new CamlQuery());
    
                // Request the FieldValuesAsText property values with the Web Part items.
                context.Load(webParts, listItems => listItems.Include(i => i.FieldValuesAsText));
                context.ExecuteQuery();
    
                if (webParts != null)
                {
                    foreach (ListItem webPart in webParts)
                    {
                        // Create a new annotation object to store the current Web Part item with the new node.
                        var annotations = new Dictionary<object, object>() 
                        { 
                            { typeof(ListItem), webPart } 
                        };
    
                        // Create the new node for the current Web Part item.
                        parentNode.ChildNodes.Add(WebPartNodeTypeProvider.WebPartNodeTypeId,
                            webPart.FieldValuesAsText.FieldValues["Title"], annotations);
                    }
                }
            }
        }
    }
    

Définition d'un type de nœud représentant un composant WebPart

Créez une classe ayant pour effet de définir un nouveau type de nœud représentant un composant WebPart. Ce nouveau type de nœud est utilisé par Visual Studio pour afficher des nœuds enfants sous le nœud Galerie de composants WebPart. Chacun de ces nœuds enfants représente un composant WebPart unique sur le site SharePoint.

Pour définir le nouveau type de nœud, la classe implémente l'interface IExplorerNodeTypeProvider. Mettez en œuvre cette interface chaque fois que vous comptez définir un type nouveau de nœud dans l'Explorateur de serveurs.

Pour définir le type de nœud des composants WebPart

  1. Dans le projet WebPartNodeExtension, double-cliquez sur le fichier de code WebPartNodeTypeProvider.

  2. Collez le code suivant dans ce fichier.

    Imports System
    Imports System.Collections.Generic
    Imports System.Windows.Forms
    Imports System.ComponentModel.Composition
    Imports Microsoft.SharePoint.Client
    Imports Microsoft.VisualStudio.SharePoint
    Imports Microsoft.VisualStudio.SharePoint.Explorer
    
    Namespace ServerExplorer.SharePointConnections.WebPartNode
    
        ' Export attribute: Enables Visual Studio to discover and load this extension.
        ' ExplorerNodeType attribute: Specifies the ID for this new node type.
        ' WebPartNodeTypeProvider class: Defines a new node type that represents a Web Part on a SharePoint site.
        <Export(GetType(IExplorerNodeTypeProvider))> _
        <ExplorerNodeType(WebPartNodeTypeProvider.WebPartNodeTypeId)> _
        Friend Class WebPartNodeTypeProvider
            Implements IExplorerNodeTypeProvider
    
            Friend Const WebPartNodeTypeId As String = "Contoso.WebPart"
    
            Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
            Implements IExplorerNodeTypeProvider.InitializeType
                typeDefinition.DefaultIcon = My.Resources.WebPart.ToBitmap()
                typeDefinition.IsAlwaysLeaf = True
    
                AddHandler typeDefinition.NodePropertiesRequested, AddressOf NodePropertiesRequested
                AddHandler typeDefinition.NodeMenuItemsRequested, AddressOf NodeMenuItemsRequested
            End Sub
    
            ' Retrieves properties that are displayed in the Properties window when
            ' a Web Part node is selected.
            Private Sub NodePropertiesRequested(ByVal Sender As Object, _
                ByVal e As ExplorerNodePropertiesRequestedEventArgs)
    
                Dim webPart = e.Node.Annotations.GetValue(Of ListItem)()
                Dim propertySource = e.Node.Context.CreatePropertySourceObject( _
                    webPart.FieldValuesAsText.FieldValues)
                e.PropertySources.Add(propertySource)
            End Sub
    
            Private Sub NodeMenuItemsRequested(ByVal Sender As Object, _
                ByVal e As ExplorerNodeMenuItemsRequestedEventArgs)
                Dim WebPartNodeMenuItem As IMenuItem = e.MenuItems.Add("Display Message")
                AddHandler WebPartNodeMenuItem.Click, AddressOf MenuItemClick
            End Sub
    
            Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
                Dim ParentNode As IExplorerNode = TryCast(e.Owner, IExplorerNode)
                If ParentNode IsNot Nothing Then
                    Dim webPart = ParentNode.Annotations.GetValue(Of ListItem)()
                    MessageBox.Show("You clicked the context menu for the following Web part: " & _
                        webPart.FieldValuesAsText.FieldValues("Title") + ".", "Web Part Menu Command")
                End If
            End Sub
        End Class
    End Namespace
    
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.ComponentModel.Composition;
    using Microsoft.SharePoint.Client;
    using Microsoft.VisualStudio.SharePoint;
    using Microsoft.VisualStudio.SharePoint.Explorer;
    
    namespace ServerExplorer.SharePointConnections.WebPartNode
    {
        // Enables Visual Studio to discover and load this extension.
        [Export(typeof(IExplorerNodeTypeProvider))]
    
        // Specifies the ID for this new node type.
        [ExplorerNodeType(WebPartNodeTypeProvider.WebPartNodeTypeId)]
    
        // Defines a new node type that represents a Web Part on a SharePoint site.
        internal class WebPartNodeTypeProvider : IExplorerNodeTypeProvider
        {
            internal const string WebPartNodeTypeId = "Contoso.WebPart";
    
            public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
            {
                typeDefinition.DefaultIcon = Properties.Resources.WebPart.ToBitmap();
                typeDefinition.IsAlwaysLeaf = true;
    
                typeDefinition.NodePropertiesRequested += NodePropertiesRequested;
                typeDefinition.NodeMenuItemsRequested += NodeMenuItemsRequested;
            }
    
            // Retrieves properties that are displayed in the Properties window when
            // a Web Part node is selected.
            private void NodePropertiesRequested(object sender,
                ExplorerNodePropertiesRequestedEventArgs e)
            {
                var webPart = e.Node.Annotations.GetValue<ListItem>();
                object propertySource = e.Node.Context.CreatePropertySourceObject(
                    webPart.FieldValuesAsText.FieldValues);
                e.PropertySources.Add(propertySource);
            }
    
            private void NodeMenuItemsRequested(
                object sender, ExplorerNodeMenuItemsRequestedEventArgs e)
            {
                e.MenuItems.Add("Display Message").Click += MenuItemClick;
            }
    
            private void MenuItemClick(object sender, MenuItemEventArgs e)
            {
                IExplorerNode parentNode = e.Owner as IExplorerNode;
    
                if (parentNode != null)
                {
                    var webPart = parentNode.Annotations.GetValue<ListItem>();
                    MessageBox.Show("You clicked the context menu for the following Web part: " +
                        webPart.FieldValuesAsText.FieldValues["Title"] + ".", "Web Part Menu Command");
                }
            }
        }
    }
    

Point de contrôle

À ce stade de la procédure, l'intégralité du code du nœud Galerie de composants WebPart fait désormais partie du projet. Générez la solution afin de garantir sa compilation sans erreur.

Pour générer la solution

  • Dans le menu Générer, sélectionnez Générer la solution.

Création d'un package VSIX pour déployer l'extension

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

Pour configurer le package VSIX

  1. Dans l'Explorateur de solutions, sous le projet WebPartNode, double-cliquez sur le fichier source.extension.vsixmanifest dans le projet WebPartNode.

    Visual Studio ouvre le fichier dans l'éditeur de manifeste. Le fichier source.extension.vsixmanifest est la base du fichier extension.vsixmanifest requis par tous les packages VSIX. Pour plus d'informations sur ce fichier, consultez VSIX Extension Schema Reference.

  2. Dans la zone Nom du produit, tapez Extension du nœud Galerie de composants WebPart pour l'Explorateur de serveurs.

  3. Dans la zone Auteur, tapez Contoso.

  4. Dans la zone Description, tapez Ajoute un nœud personnalisé Galerie de composants WebPart au nœud Connexions Sharepoint dans l'Explorateur de serveurs.

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

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

    Notes

    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 (VSX Schema).

  7. Sous Sélectionner une source, cliquez sur la case d'option Projet et sélectionnez WebPartNodeExtension dans la zone de liste en regard de cette dernière.

  8. Cliquez sur OK.

  9. Dans le menu Générer, cliquez sur Générer la solution. Assurez-vous que la solution se compile sans erreurs.

  10. Ouvrez le dossier de sortie de la génération pour le projet WebPartNode. Assurez-vous que ce dossier contient, à présent, le fichier WebPartNode.vsix.

    Par défaut, le dossier de sortie de la génération est le dossier .. \bin\Debug sous le dossier qui contient votre fichier projet.

Test de l'extension

Vous êtes maintenant prêt à tester le nouveau nœud Galerie de composants WebPart dans l'Explorateur de serveurs. Tout d'abord, commencez à déboguer le projet d'extension dans une instance expérimentale de Visual Studio. Ensuite, utilisez le nouveau nœud Composants WebPart dans l'instance expérimentale de Visual Studio.

Pour démarrer le débogage de l'extension

  1. Redémarrez Visual Studio avec les privilèges d'administrateur et ouvrez la solution WebPartNode.

  2. Dans le projet WebPartNodeExtension, ouvrez le fichier de code SiteNodeExtension et ajoutez un point d'arrêt au niveau des premières lignes de code dans les méthodes NodeChildrenRequested et CreateWebPartNodes.

  3. Appuyez sur F5 pour démarrer le débogage.

    Visual Studio installe l'extension sous %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Extension du nœud Galerie de composants WebPart pour l'Explorateur de serveurs\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'extension

  1. Dans l'instance expérimentale de Visual Studio, dans le menu Affichage, cliquez sur Explorateur de serveurs.

  2. Assurez-vous que le site SharePoint réservé au test s'affiche sous le nœud Connexions SharePoint dans l'Explorateur de serveurs. Dans le cas contraire, procédez comme suit :

    1. Cliquez avec le bouton droit sur le nœud Connexions SharePoint, puis cliquez sur Ajouter une connexion.

    2. Dans la boîte de dialogue Ajouter une connexion SharePoint, entrez l'URL du site SharePoint auquel vous souhaitez vous connecter. Pour spécifier le site SharePoint sur votre ordinateur de développement, tapez https://localhost.

    3. Cliquez sur OK.

  3. Développez le nœud de connexion de site (nœud qui affiche l'URL de votre site), puis un nœud de site enfant (par exemple, Site d'équipe).

  4. Vérifiez que le code de 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 NodeChildrenRequested. Appuyez sur F5 pour continuer de déboguer le projet.

  5. Dans l'instance expérimentale de Visual Studio, vérifiez qu'un nouveau nœud nommé Galerie de composants WebPart apparaît sous le nœud de site de niveau supérieur. Développez le nœud Galerie de composants WebPart.

  6. 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 CreateWebPartNodes. Appuyez sur F5 pour continuer de déboguer le projet.

  7. Dans l'instance expérimentale de Visual Studio, assurez-vous que tous les composants WebPart sur le site connecté s'affichent sous le nœud Galerie de composants WebPart dans l'Explorateur de serveurs.

  8. Cliquez avec le bouton droit sur l'un des composants WebPart et cliquez sur Propriétés.

  9. Vérifiez que les détails relatifs au composant WebPart s'affichent dans la fenêtre Propriétés.

  10. Dans l'Explorateur de serveurs, cliquez à nouveau avec le bouton droit sur le même composant WebPart, puis cliquez sur Afficher un message.

    Assurez-vous que la boîte de message s'affiche. Cliquez sur OK dans la boîte de message.

Désinstallation de l'extension de Visual Studio

Une fois le test de l'extension terminé, désinstallez l'extension de Visual Studio.

Pour désinstaller l'extension

  1. Dans l'instance expérimentale de Visual Studio, dans le menu Outils, cliquez sur Gestionnaire d'extensions.

    La boîte de dialogue Gestionnaire d'extensions s'ouvre.

  2. Dans la liste d'extensions, cliquez sur Extension du nœud Galerie de composants WebPart pour l'Explorateur de serveurs, puis sur Désinstaller.

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

  4. Cliquez sur Redémarrer maintenant pour terminer l'installation. L'élément de projet est également désinstallé.

  5. Fermez les deux instances de Visual Studio (l'instance expérimentale et l'instance de Visual Studio dans laquelle la solution WebPartNode est ouverte).

Voir aussi

Tâches

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

Création d'une nouvelle bitmap ou d'une autre image

Référence

Éditeur d'images

Concepts

Appel des modèles d'objet SharePoint

Autres ressources

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