Procédure pas à pas : appel du modèle d’objet client SharePoint à partir d’une extension de l’Explorateur de serveursWalkthrough: Calling into the SharePoint Client Object Model in a Server Explorer Extension

Cette procédure pas à pas montre comment appeler le modèle d’objet client SharePoint à partir d’une extension pour le connexions SharePoint nœud l’Explorateur de serveurs.This walkthrough demonstrates how to call the SharePoint client object model from an extension for the SharePoint Connections node in Server Explorer. Pour plus d’informations sur l’utilisation du modèle d’objet client SharePoint, consultez appel des modèles d’objet SharePoint.For more information about how to use the SharePoint client object model, see Calling into the SharePoint Object Models.

Cette procédure pas à pas décrit les tâches suivantes :This walkthrough demonstrates the following tasks:

  • Création d’un Visual StudioVisual Studio extension étend la connexions SharePoint nœud de l’Explorateur de serveurs comme suit :Creating a Visual StudioVisual Studio extension that extends the SharePoint Connections node of Server Explorer in the following ways:

    • L’extension ajoute un galerie de composants WebPart nœud sous chaque nœud de site SharePoint dans l’Explorateur de serveurs.The extension adds a Web Part Gallery node under each SharePoint site node in Server Explorer. Ce nouveau nœud contient des nœuds enfants représentant chaque composant WebPart dans la galerie de composants WebPart sur le site.This new node contains child nodes that represent each Web Part in the Web Part gallery on the site.

    • L’extension définit un nouveau type de nœud qui représente une instance de composant WebPart.The extension defines a new type of node that represents a Web Part instance. Ce nouveau type de nœud est la base pour les nœuds enfants sous le nouveau galerie de composants WebPart nœud.This new node type is the basis for the child nodes under the new Web Part Gallery node. Le nouveau type de nœud WebPart affiche des informations dans le propriétés fenêtre sur le composant WebPart que le nœud représente.The new Web Part node type displays information in the Properties window about the Web Part that the node represents.

  • Création d’un package d’Extension Visual Studio (VSIX) pour déployer l’extension.Building a Visual Studio Extension (VSIX) package to deploy the extension.

  • Débogage et test de l’extension.Debugging and testing the extension.

Note

L’extension que vous créez dans cette procédure pas à pas ressemble à l’extension que vous créez dans procédure pas à pas : extension de l’Explorateur de serveurs pour affichage WebPart.The extension that you create in this walkthrough resembles the extension that you create in Walkthrough: Extending Server Explorer to Display Web Parts. Cette procédure pas à pas utilise le modèle d’objet serveur SharePoint, mais cette procédure effectue les mêmes tâches à l’aide du modèle d’objet client.That walkthrough uses the SharePoint server object model, but this walkthrough accomplishes the same tasks by using the client object model.

PrérequisPrerequisites

Vous devez disposer des composants suivants sur l’ordinateur de développement pour terminer cette procédure pas à pas :You need the following components on the development computer to complete this walkthrough:

Connaissance des concepts suivants s’avère utile, mais n’est pas requis pour terminer la procédure pas à pas :Knowledge of the following concepts is helpful, but not required, to complete the walkthrough:

Création des projetsCreating the Projects

Pour effectuer cette procédure pas à pas, vous devez créer deux projets :To complete this walkthrough, you must create two projects:

  • Un projet VSIX pour créer le package VSIX pour déployer le l’Explorateur de serveurs extension.A VSIX project to create the VSIX package to deploy the Server Explorer extension.

  • Un projet de bibliothèque de classes qui implémente le l’Explorateur de serveurs extension.A class library project that implements the Server Explorer extension.

    Démarrer la procédure pas à pas en créant les projets.Start the walkthrough by creating the projects.

Pour créer le projet VSIXTo create the VSIX project

  1. Démarrez Visual StudioVisual Studio.Start Visual StudioVisual Studio.

  2. Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet.On the menu bar, choose File, New, Project.

  3. Dans le nouveau projet boîte de dialogue, développez le Visual C# ou Visual Basic nœuds, puis choisissez extensibilité.In the New Project dialog box, expand the Visual C# or Visual Basic nodes, and then choose Extensibility.

    Note

    Le extensibilité nœud est disponible uniquement si vous installez le Kit de développement logiciel Visual Studio.The Extensibility node is available only if you install the Visual Studio SDK. Pour plus d’informations, consultez la section conditions préalables plus haut dans cette rubrique.For more information, see the prerequisites section earlier in this topic.

  4. En haut de la boîte de dialogue, choisissez .NET Framework 4.5 dans la liste des versions du .NET Framework.At the top of the dialog box, choose .NET Framework 4.5 in the list of versions of the .NET Framework.

    Les extensions d’outils SharePoint nécessitent des fonctionnalités dans cette version du .NET Framework.SharePoint tool extensions require features in this version of the .NET Framework.

  5. Choisissez le projet VSIX modèle.Choose the VSIX Project template.

  6. Dans le nom , tapez WebPartNode, puis choisissez le OK bouton.In the Name box, type WebPartNode, and then choose the OK button.

    Visual StudioVisual Studio Ajoute le WebPartNode projet l’Explorateur de solutions. adds the WebPartNode project to Solution Explorer.

Pour créer le projet d’extensionTo create the extension project

  1. Dans l’Explorateur de solutions, ouvrez le menu contextuel pour le nœud de solution, choisissez ajouter, puis choisissez nouveau projet.In Solution Explorer, open the shortcut menu for the solution node, choose Add, and then choose New Project.

  2. Dans le nouveau projet boîte de dialogue, développez le Visual C# ou Visual Basic nœuds, puis choisissez Windows.In the New Project dialog box, expand the Visual C# or Visual Basic nodes, and then choose Windows.

  3. En haut de la boîte de dialogue, choisissez .NET Framework 4.5 dans la liste des versions du .NET Framework.At the top of the dialog box, choose .NET Framework 4.5 in the list of versions of the .NET Framework.

  4. Dans la liste des modèles de projet, choisissez bibliothèque de classes.In the list of project templates, choose Class Library.

  5. Dans le nom , entrez WebPartNodeExtension, puis choisissez le OK bouton.In the Name box, enter WebPartNodeExtension, and then choose the OK button.

    Visual StudioVisual Studio Ajoute le WebPartNodeExtension projet à la solution et ouvre le fichier de code Class1 par défaut. adds the WebPartNodeExtension project to the solution and opens the default Class1 code file.

  6. Supprime le fichier de code Class1 du projet.Delete the Class1 code file from the project.

Configuration du projet d’ExtensionConfiguring the Extension Project

Avant d’écrire de code pour créer l’extension, vous devez ajouter les références d’assembly à votre projet et les fichiers de code, et vous devez mettre à jour l’espace de noms par défaut.Before you write code to create the extension, you must add code files and assembly references to your project, and you must update the default namespace.

Pour configurer le projetTo configure the project

  1. Dans le WebPartNodeExtension de projet, ajoutez deux fichiers de code qui sont nommées SiteNodeExtension et WebPartNodeTypeProvider.In the WebPartNodeExtension project, add two code files that are named SiteNodeExtension and WebPartNodeTypeProvider.

  2. Ouvrez le menu contextuel du projet WebPartNodeExtension, puis choisissez ajouter une référence.Open the shortcut menu for the WebPartNodeExtension project, and then choose Add Reference.

  3. Dans le Gestionnaire de références - WebPartNodeExtension boîte de dialogue, choisissez le Framework nœud et sélectionnez les cases à cocher pour le System.ComponentModel.Composition et System.Windows.Forms assemblys.In the Reference Manager - WebPartNodeExtension dialog box, choose the Framework node, and then select the check boxes for the System.ComponentModel.Composition and System.Windows.Forms assemblies.

  4. Choisissez le Extensions nœud, sélectionnez la case à cocher pour chacun des assemblys suivants, puis choisissez le OK bouton :Choose the Extensions node, select the check box for each of the following assemblies, and then choose the OK button:

    • Microsoft.SharePoint.ClientMicrosoft.SharePoint.Client

    • Microsoft.SharePoint.Client.RuntimeMicrosoft.SharePoint.Client.Runtime

    • Microsoft.VisualStudio.SharePointMicrosoft.VisualStudio.SharePoint

  5. Ouvrez le menu contextuel pour le WebPartNodeExtension de projet, puis choisissez propriétés.Open the shortcut menu for the WebPartNodeExtension project, and then choose Properties.

    Le Concepteur de projets s’ouvre.The Project Designer opens.

  6. Choisissez l’onglet Application.Choose the Application tab.

  7. Dans le par défaut d’espace de noms boîte (c#) ou espace de noms racine (Visual Basic), entrez ServerExplorer.SharePointConnections.WebPartNode.In the Default namespace box (C#) or Root namespace box (Visual Basic), enter ServerExplorer.SharePointConnections.WebPartNode.

Création d’icônes pour les nouveaux nœudsCreating Icons for the New Nodes

Créez deux icônes pour le l’Explorateur de serveurs extension : une icône pour le nouveau galerie de composants WebPart nœud et une autre pour chaque nœud de composant WebPart enfant sous le galerie de composants WebPart nœud.Create two icons for the Server Explorer extension: an icon for the new Web Part Gallery node and another icon for each child Web Part node under the Web Part Gallery node. Plus loin dans cette procédure pas à pas, vous allez écrire du code qui associe ces icônes avec les nœuds.Later in this walkthrough, you'll write code that associates these icons with the nodes.

Pour créer des icônes pour les nœudsTo create icons for the nodes

  1. Dans le Concepteur de projets pour le projet WebPartNodeExtension, choisissez le ressources onglet.In the Project Designer for the WebPartNodeExtension project, choose the Resources tab.

  2. Cliquez sur le lien ce projet ne contient pas un fichier de ressources par défaut. Cliquez ici pour en créer un.Choose the link This project does not contain a default resources file. Click here to create one.

    Visual Studio crée un fichier de ressources et l’ouvre dans le concepteur.Visual Studio creates a resource file and opens it in the designer.

  3. En haut du concepteur, cliquez sur la flèche sur la ajouter une ressource menu de commande, puis choisissez ajouter une nouvelle icône.At the top of the designer, choose the arrow on the Add Resource menu command, and then choose Add New Icon.

  4. Entrez WebPartsNode pour l’icône nouveau nom, puis choisissez le ajouter bouton.Enter WebPartsNode for the new icon name, and then choose the Add button.

    La nouvelle icône s’ouvre dans le Éditeur d’images.The new icon opens in the Image Editor.

  5. Modifier la version de l’icône de 16 x 16 afin qu’il ait une conception que vous pouvez facilement identifier.Edit the 16x16 version of the icon so that it has a design that you can easily recognize.

  6. Ouvrez le menu contextuel pour la version de l’icône 32 x 32, puis choisissez supprimer le Type d’Image.Open the shortcut menu for the 32x32 version of the icon, and then choose Delete Image Type.

  7. Répétez les étapes 3 à 7 pour ajouter une deuxième icône aux ressources du projet et nommez cette icône WebPart.Repeat steps 3 through 7 to add a second icon to the project resources, and name this icon WebPart.

  8. Dans l’Explorateur de solutions, dans le ressources dossier pour le WebPartNodeExtension de projet, choisissez WebPartsNode.ico.In Solution Explorer, in the Resources folder for the WebPartNodeExtension project, choose WebPartsNode.ico.

  9. Dans le propriétés fenêtre, ouvrez le Action de génération liste, puis choisissez ressource incorporée.In the Properties window, open the Build Action list, and then choose Embedded Resource.

  10. Répétez les deux dernières étapes pour WebPart.ico.Repeat the last two steps for WebPart.ico.

Créez une classe qui ajoute le nouveau galerie de composants WebPart nœud pour chaque nœud du site SharePoint.Create a class that adds the new Web Part Gallery node to each SharePoint site node. Pour ajouter le nouveau nœud, la classe implémente le IExplorerNodeTypeExtension interface.To add the new node, the class implements the IExplorerNodeTypeExtension interface. Implémentez cette interface chaque fois que vous souhaitez étendre le comportement d’un nœud existant dans l’Explorateur de serveurs, telles que l’ajout d’un nouveau nœud enfant à un nœud.Implement this interface whenever you want to extend the behavior of an existing node in Server Explorer, such as adding a new child node to a node.

  1. Collez le code suivant dans le SiteNodeExtension fichier de code pour le WebPartNodeExtension projet.Paste the following code into the SiteNodeExtension code file for the WebPartNodeExtension project.

    Note

    Après avoir ajouté ce code, le projet aura des erreurs de compilation.After you add this code, the project will have some compile errors. Ces erreurs disparaître lorsque vous ajoutez du code dans les étapes ultérieures.These errors will go away when you add code in later steps.

    using System.Collections.Generic;
    using System.ComponentModel.Composition;
    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
        {
            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)
            {
                // 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 all of the individual Web Part nodes under the new Web Part Gallery node.
            private void CreateWebPartNodes(IExplorerNode parentNode)
            {
                // Call the custom SharePoint command to get items from the Web Part gallery.
                var webParts = parentNode.Context.SharePointConnection.ExecuteCommand<WebPartNodeInfo[]>(
                    WebPartCommandIds.GetWebParts);
    
                if (webParts != null)
                {
                    foreach (WebPartNodeInfo 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(WebPartNodeInfo), webPart } 
                        };
    
                        // Create the new node for the current Web Part item.
                        parentNode.ChildNodes.Add(WebPartNodeTypeProvider.WebPartNodeTypeId,
                            webPart.Name, annotations);
                    }
                }
            }
        }
    }
    
    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
    

Définition d’un Type de nœud qui représente un composant WebPartDefining a Node Type that Represents a Web Part

Créez une classe qui définit un nouveau type de nœud qui représente un composant WebPart.Create a class that defines a new type of node that represents a Web Part. Visual Studio utilise ce nouveau type de nœud pour afficher les nœuds enfants sous le galerie de composants WebPart nœud.Visual Studio uses this new node type to display child nodes under the Web Part Gallery node. Chacun de ces nœuds enfants représente un composant WebPart sur le site SharePoint.Each of these child nodes represents a single Web Part on the SharePoint site.

Pour définir le nouveau type de nœud, la classe implémente le IExplorerNodeTypeProvider interface.To define the new node type, the class implements the IExplorerNodeTypeProvider interface. Implémentez cette interface chaque fois que vous souhaitez définir un nouveau type de nœud dans l’Explorateur de serveurs.Implement this interface whenever you want to define a new type of node in Server Explorer.

Pour définir le type de nœud de composant WebPartTo define the Web Part node type

  1. Collez le code suivant dans le WebPartNodeTypeProvider fichier de code pour le WebPartNodeExtension projet.Paste the following code into the WebPartNodeTypeProvider code file for the WebPartNodeExtension project.

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.ComponentModel.Composition;
    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;
            }
    
            // Retrieves properties that are displayed in the Properties window when
            // a Web Part node is selected.
            private void NodePropertiesRequested(object sender,
                ExplorerNodePropertiesRequestedEventArgs e)
            {
                var webPartNodeInfo = e.Node.Annotations.GetValue<WebPartNodeInfo>();
    
                // Call the custom SharePoint command to get the Web Part properties.
                Dictionary<string, string> properties =
                    e.Node.Context.SharePointConnection.ExecuteCommand<
                    WebPartNodeInfo, Dictionary<string, string>>(
                    WebPartCommandIds.GetWebPartProperties, webPartNodeInfo);
    
                object propertySource = e.Node.Context.CreatePropertySourceObject(properties);
                e.PropertySources.Add(propertySource);
            }
        }
    }
    
    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
    

Point de contrôleCheckpoint

À ce stade de la procédure pas à pas, tout le code pour le galerie de composants WebPart nœud se trouve désormais dans le projet.At this point in the walkthrough, all the code for the Web Part Gallery node is now in the project. Générer le WebPartNodeExtension projet pour vous assurer qu’elle est compilée sans erreur.Build the WebPartNodeExtension project to make sure that it compiles without errors.

Pour générer le projetTo build the project

  1. Dans l’Explorateur de solutions, ouvrez le menu contextuel pour le WebPartNodeExtension de projet, puis choisissez Build.In Solution Explorer, open the shortcut menu for the WebPartNodeExtension project, and then choose Build.

Création d’un Package VSIX pour déployer l’ExtensionCreating a VSIX Package to Deploy the Extension

Pour déployer l’extension, utilisez le projet VSIX dans votre solution pour créer un package VSIX.To deploy the extension, use the VSIX project in your solution to create a VSIX package. Tout d’abord, configurez le package VSIX en modifiant le fichier source.extension.vsixmanifest qui est inclus dans le projet.First, configure the VSIX package by modifying the source.extension.vsixmanifest file that's included in the project. Puis créer le package VSIX en générant la solution.Then create the VSIX package by building the solution.

Pour configurer le package VSIXTo configure the VSIX package

  1. Dans l’Explorateur de solutions, dans le WebPartNode projet, ouvrez source.extension.vsixmanifest fichier dans l’éditeur de manifeste.In Solution Explorer, in the WebPartNode project, open source.extension.vsixmanifest file in the manifest editor.

    Le fichier source.extension.vsixmanifest est la base du fichier extension.vsixmanifest qui nécessitent de tous les packages VSIX.The source.extension.vsixmanifest file is the basis for the extension.vsixmanifest file that all VSIX packages require. Pour plus d’informations sur ce fichier, consultez une Extension de schéma 1.0 référence VSIX.For more information about this file, see VSIX Extension Schema 1.0 Reference.

  2. Dans le Product Name , entrez nœud Galerie de composants WebPart pour l’Explorateur de serveurs.In the Product Name box, enter Web Part Gallery Node for Server Explorer.

  3. Dans le auteur , entrez Contoso.In the Author box, enter Contoso.

  4. Dans le Description , entrez ajoute un nœud personnalisé de la galerie de composants WebPart au nœud Connexions SharePoint dans l’Explorateur de serveurs.In the Description box, enter Adds a custom Web Part Gallery node to the SharePoint Connections node in Server Explorer.

  5. Sur le actifs onglet de l’éditeur, choisissez le nouveau bouton.On the Assets tab of the editor, choose the New button.

  6. Dans le ajouter un nouveau composant boîte de dialogue le Type , choisissez Microsoft.VisualStudio.MefComponent.In the Add New Asset dialog box, in the Type list, choose Microsoft.VisualStudio.MefComponent.

    Note

    Cette valeur correspond à la MefComponent élément dans le fichier extension.vsixmanifest.This value corresponds to the MefComponent element in the extension.vsixmanifest file. Cet élément spécifie le nom d’un assembly d’extension dans le package VSIX.This element specifies the name of an extension assembly in the VSIX package. Pour plus d’informations, consultez MEFComponent, élément (schéma VSX).For more information, see MEFComponent Element (VSX Schema).

  7. Dans le Source , choisissez un projet dans la solution actuelle.In the Source list, choose A project in current solution.

  8. Dans le projet , choisissez WebPartNodeExtension, puis choisissez le OK bouton.In the Project list, choose WebPartNodeExtension, and then choose the OK button.

  9. Dans la barre de menus, choisissez générer, générer la Solution, puis assurez-vous que la solution est compilée sans erreur.On the menu bar, choose Build, Build Solution, and then make sure that the solution compiles without errors.

  10. Assurez-vous que le dossier de sortie de génération pour le projet WebPartNode contienne désormais le fichier WebPartNode.vsix.Make sure that the build output folder for the WebPartNode project now contains the WebPartNode.vsix file.

    Par défaut, le dossier de sortie est le... dossier \bin\debug sous le dossier qui contient votre fichier projet.By default, the build output folder is the ..\bin\Debug folder under the folder that contains your project file.

Test de l’ExtensionTesting the Extension

Vous êtes maintenant prêt à tester la nouvelle galerie de composants WebPart nœud l’Explorateur de serveurs.You are now ready to test the new Web Part Gallery node in Server Explorer. Commencez à déboguer le projet d’extension dans une instance expérimentale de Visual Studio.First, start to debug the extension project in an experimental instance of Visual Studio. Puis utilisez la nouvelle WebPart nœud dans l’instance expérimentale de Visual Studio.Then use the new Web Parts node in the experimental instance of Visual Studio.

Pour démarrer le débogage de l’extensionTo start debugging the extension

  1. Redémarrez Visual Studio avec des informations d’identification d’administration, puis ouvrez le WebPartNode solution.Restart Visual Studio with administrative credentials, and then open the WebPartNode solution.

  2. Dans le projet WebPartNodeExtension, ouvrez le SiteNodeExtension fichier de code et ajoutez un point d’arrêt pour les lignes de code dans le NodeChildrenRequested et CreateWebPartNodes méthodes.In the WebPartNodeExtension project, open the SiteNodeExtension code file, and then add a breakpoint to the first lines of code in the NodeChildrenRequested and CreateWebPartNodes methods.

  3. Appuyez sur la touche F5 pour démarrer le débogage.Choose the F5 key to start debugging.

    Visual Studio installe l’extension %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web Extension du nœud Galerie partie pour le serveur Explorer\1.0 et démarre une instance expérimentale de Visual Studio.Visual Studio installs the extension to %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web Part Gallery Node Extension for Server Explorer\1.0 and starts an experimental instance of Visual Studio. Vous allez tester l’élément de projet dans cette instance de Visual Studio.You'll test the project item in this instance of Visual Studio.

Pour tester l’extensionTo test the extension

  1. Dans l’instance expérimentale de Visual Studio, dans la barre de menus, choisissez vue, l’Explorateur de serveurs.In the experimental instance of Visual Studio, on the menu bar, choose View, Server Explorer.

  2. Vérifiez que le site SharePoint que vous souhaitez utiliser pour le test s’affiche sous le connexions SharePoint nœud l’Explorateur de serveurs.Verify that the SharePoint site that you want to use for testing appears under the SharePoint Connections node in Server Explorer. S’il n’est pas répertorié, procédez comme suit :If it's not listed, follow these steps:

    1. Ouvrez le menu contextuel pour connexions SharePoint, puis choisissez ajouter une connexion.Open the shortcut menu for SharePoint Connections, and then choose Add Connection.

    2. Dans le ajouter une connexion SharePoint boîte de dialogue, entrez l’URL du site SharePoint auquel vous souhaitez vous connecter, puis choisissez le OK bouton.In the Add SharePoint Connection dialog box, enter the URL for the SharePoint site to which you want to connect, and then choose the OK button.

      Pour spécifier le site SharePoint sur votre ordinateur de développement, tapez http://localhost.To specify the SharePoint site on your development computer, type http://localhost.

  3. Développez le nœud de connexion de site (qui affiche l’URL de votre site), puis développez un nœud de site enfant (par exemple, Site d’équipe).Expand the site connection node (which displays the URL of your site), and then expand a child site node (for example, Team Site).

  4. Vérifiez que le code dans l’autre instance de Visual Studio s’arrête au point d’arrêt défini précédemment dans le NodeChildrenRequested (méthode), puis choisissez la touche F5 pour continuer à déboguer le projet.Verify that the code in the other instance of Visual Studio stops on the breakpoint that you set earlier in the NodeChildrenRequested method, and then choose the F5 key to continue to debug the project.

  5. Dans l’instance expérimentale de Visual Studio, développez le galerie de composants WebPart nœud, qui apparaît sous le nœud de site de niveau supérieur.In the experimental instance of Visual Studio, expand the Web Part Gallery node, which appears under the top-level site node.

  6. Vérifiez que le code dans l’autre instance de Visual Studio s’arrête au point d’arrêt défini précédemment dans le CreateWebPartNodes (méthode), puis choisissez la touche F5 pour continuer à déboguer le projet.Verify that the code in the other instance of Visual Studio stops on the breakpoint that you set earlier in the CreateWebPartNodes method, and then choose the F5 key to continue to debug the project.

  7. Dans l’instance expérimentale de Visual Studio, vérifiez que tous les composants WebPart sur le site connecté s’affichent sous la galerie de composants WebPart nœud l’Explorateur de serveurs.In the experimental instance of Visual Studio, verify that all the Web Parts on the connected site appear under the Web Part Gallery node in Server Explorer.

  8. Ouvrez le menu contextuel pour un composant WebPart, puis choisissez propriétés.Open the shortcut menu for a Web Part, and then choose Properties.

  9. Dans le propriétés fenêtre, vérifiez que les détails sur le composant WebPart s’affichent.In the Properties window, verify that details about the Web Part appear.

  10. Dans l’Explorateur de serveurs, ouvrez le menu contextuel pour le même composant WebPart, puis choisissez afficher un Message.In Server Explorer, open the shortcut menu for the same Web Part, and then choose Display Message.

    Dans la boîte de message qui s’affiche, choisissez le OK bouton.In the message box that appears, choose the OK button.

Désinstallation de l’Extension à partir de Visual StudioUninstalling the Extension from Visual Studio

Une fois que vous avez terminé le test de l’extension, le désinstaller à partir de Visual Studio.After you finish testing the extension, uninstall it from Visual Studio.

Pour désinstaller l'extensionTo uninstall the extension

  1. Dans l’instance expérimentale de Visual Studio, dans la barre de menus, choisissez outils, Extensions et mises à jour.In the experimental instance of Visual Studio, on the menu bar, choose Tools, Extensions and Updates.

    La boîte de dialogue Extensions et mises à jour s’ouvre.The Extensions and Updates dialog box opens.

  2. Dans la liste des extensions, choisissez nœud Galerie de composants WebPart pour l’Explorateur de serveurs, puis choisissez le désinstallation bouton.In the list of extensions, choose Web Part Gallery Node for Server Explorer, and then choose the Uninstall button.

  3. Dans la boîte de dialogue qui s’affiche, choisissez le Oui bouton.In the dialog box that appears, choose the Yes button.

  4. Choisissez le redémarrer maintenant bouton pour terminer la désinstallation.Choose the Restart Now button to complete the uninstallation.

    L’élément de projet est également désinstallé.The project item is also uninstalled.

  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).Close both instances of Visual Studio (the experimental instance and the instance of Visual Studio in which the WebPartNode solution is open).

Voir aussiSee Also

Appel des modèles d’objet SharePoint Calling into the SharePoint Object Models
Extension du nœud Connexions SharePoint dans l’Explorateur de serveurs Extending the SharePoint Connections Node in Server Explorer
Procédure pas à pas : Extension de l’Explorateur de serveurs pour afficher des WebParts Walkthrough: Extending Server Explorer to Display Web Parts
Éditeur d’images pour les icônes Image Editor for Icons
Création d’une icône ou une autre Image (Éditeur d’images pour les icônes)Creating an Icon or Other Image (Image Editor for Icons)