Passo a passo: Chamando o modelo de objeto de cliente do SharePoint em uma extensão do Gerenciador de servidoresWalkthrough: Calling into the SharePoint client object model in a Server Explorer extension

Este passo a passo demonstra como chamar o modelo de objeto de cliente do SharePoint de uma extensão para o conexões do SharePoint nó no Gerenciador de servidores.This walkthrough demonstrates how to call the SharePoint client object model from an extension for the SharePoint Connections node in Server Explorer. Para obter mais informações sobre como usar o modelo de objeto de cliente do SharePoint, consulte chamam os modelos de objeto SharePoint.For more information about how to use the SharePoint client object model, see Call into the SharePoint object models.

Este passo a passo demonstra as seguintes tarefas:This walkthrough demonstrates the following tasks:

  • Criando um Visual StudioVisual Studio extensão estende o conexões do SharePoint nó do Gerenciador de servidores das seguintes maneiras:Creating a Visual StudioVisual Studio extension that extends the SharePoint Connections node of Server Explorer in the following ways:

    • Adiciona a extensão de um Galeria de Web Parts nó em cada nó do site do SharePoint no Gerenciador de servidores.The extension adds a Web Part Gallery node under each SharePoint site node in Server Explorer. Esse novo nó contém nós filho que representam cada Web Part na Galeria de Web Parts no site.This new node contains child nodes that represent each Web Part in the Web Part gallery on the site.

    • A extensão define um novo tipo de nó que representa uma instância de Web Part.The extension defines a new type of node that represents a Web Part instance. Esse novo tipo de nó é a base para os nós filho sob a nova Galeria de Web Parts nó.This new node type is the basis for the child nodes under the new Web Part Gallery node. O novo tipo de nó de Web Part exibe informações na propriedades janela sobre a Web Part que o nó representa.The new Web Part node type displays information in the Properties window about the Web Part that the node represents.

  • Criando um pacote de extensão VSIX (Visual Studio) para implantar a extensão.Building a Visual Studio Extension (VSIX) package to deploy the extension.

  • Depurando e testando a extensão.Debugging and testing the extension.

Note

A extensão que você cria neste passo a passo se parece com a extensão que você cria no instruções passo a passo: estenda o Gerenciador de servidores para exibir web parts.The extension that you create in this walkthrough resembles the extension that you create in Walkthrough: Extend Server Explorer to display web parts. Essa explicação passo a passo usa o modelo de objeto do SharePoint server, mas este passo a passo realiza as mesmas tarefas usando o modelo de objeto do cliente.That walkthrough uses the SharePoint server object model, but this walkthrough accomplishes the same tasks by using the client object model.

Pré-requisitosPrerequisites

Você precisa dos seguintes componentes no computador de desenvolvimento para concluir este passo a passo:You need the following components on the development computer to complete this walkthrough:

  • Edições com suporte do Windows, SharePoint e Visual Studio.Supported editions of Windows, SharePoint, and Visual Studio.

  • O SDK do Visual Studio.The Visual Studio SDK. Este passo a passo usa o VSIX Project modelo no SDK para criar um pacote VSIX para implantar a extensão.This walkthrough uses the VSIX Project template in the SDK to create a VSIX package to deploy the extension. Para obter mais informações, consulte estender as ferramentas do SharePoint no Visual Studio.For more information, see Extend the SharePoint tools in Visual Studio.

Conhecimento dos conceitos a seguir é útil, mas não necessário para concluir o passo a passo:Knowledge of the following concepts is helpful, but not required, to complete the walkthrough:

Crie os projetosCreate the projects

Para concluir este passo a passo, você deve criar dois projetos:To complete this walkthrough, you must create two projects:

  • Um projeto VSIX para criar o pacote VSIX para implantar o Gerenciador de servidores extensão.A VSIX project to create the VSIX package to deploy the Server Explorer extension.

  • Um projeto de biblioteca de classe que implementa o Gerenciador de servidores extensão.A class library project that implements the Server Explorer extension.

    Inicie o passo a passo Criando os projetos.Start the walkthrough by creating the projects.

Para criar o projeto do VSIXTo create the VSIX project

  1. Inicie o Visual StudioVisual Studio.Start Visual StudioVisual Studio.

  2. Na barra de menus, selecione Arquivo > Novo > Projeto.On the menu bar, choose File > New > Project.

  3. No novo projeto diálogo caixa, expanda o Visual c# ou Visual Basic nós e, em seguida, escolha extensibilidade.In the New Project dialog box, expand the Visual C# or Visual Basic nodes, and then choose Extensibility.

    Note

    O extensibilidade o nó está disponível somente se você instalar o SDK do Visual Studio.The Extensibility node is available only if you install the Visual Studio SDK. Para obter mais informações, consulte a seção pré-requisitos no início deste tópico.For more information, see the prerequisites section earlier in this topic.

  4. Na parte superior da caixa de diálogo, escolha .NET Framework 4.5 na lista de versões do .NET Framework.At the top of the dialog box, choose .NET Framework 4.5 in the list of versions of the .NET Framework.

    As extensões de ferramentas do SharePoint exigem recursos nesta versão do .NET Framework.SharePoint tool extensions require features in this version of the .NET Framework.

  5. Escolha o VSIX Project modelo.Choose the VSIX Project template.

  6. No nome , digite WebPartNodee, em seguida, escolha o Okey botão.In the Name box, type WebPartNode, and then choose the OK button.

    Visual StudioVisual Studio Adiciona o WebPartNode projeto ao Gerenciador de soluções. adds the WebPartNode project to Solution Explorer.

Para criar o projeto de extensãoTo create the extension project

  1. Na Gerenciador de soluções, abra o menu de atalho do nó da solução, escolha Adde, em seguida, escolha novo projeto.In Solution Explorer, open the shortcut menu for the solution node, choose Add, and then choose New Project.

  2. No novo projeto diálogo caixa, expanda o Visual c# ou Visual Basic nós e, em seguida, escolha Windows.In the New Project dialog box, expand the Visual C# or Visual Basic nodes, and then choose Windows.

  3. Na parte superior da caixa de diálogo, escolha .NET Framework 4.5 na lista de versões do .NET Framework.At the top of the dialog box, choose .NET Framework 4.5 in the list of versions of the .NET Framework.

  4. Na lista de modelos de projeto, escolha biblioteca de classes.In the list of project templates, choose Class Library.

  5. No nome , digite WebPartNodeExtensione, em seguida, escolha o Okey botão.In the Name box, enter WebPartNodeExtension, and then choose the OK button.

    Visual StudioVisual Studio Adiciona o WebPartNodeExtension projeto à solução e abre o arquivo de código padrão Class1. adds the WebPartNodeExtension project to the solution and opens the default Class1 code file.

  6. Exclua o arquivo de código Class1 do projeto.Delete the Class1 code file from the project.

Configurar o projeto de extensãoConfigure the extension project

Antes de escrever código para criar a extensão, você deve adicionar arquivos de código e referências de assembly ao seu projeto, e você deve atualizar o namespace padrão.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.

Para configurar o projetoTo configure the project

  1. No WebPartNodeExtension do projeto, adicione dois arquivos de código que são nomeados SiteNodeExtension e WebPartNodeTypeProvider.In the WebPartNodeExtension project, add two code files that are named SiteNodeExtension and WebPartNodeTypeProvider.

  2. Abra o menu de atalho para o projeto WebPartNodeExtension e, em seguida, escolha adicionar referência.Open the shortcut menu for the WebPartNodeExtension project, and then choose Add Reference.

  3. No Gerenciador de referências - WebPartNodeExtension diálogo caixa, escolha o Framework nó e, em seguida, selecione as caixas de seleção para o Composition e System assemblies.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. Escolha o extensões nó, selecione a caixa de seleção para cada um dos assemblies a seguir e, em seguida, escolha o Okey botão:Choose the Extensions node, select the check box for each of the following assemblies, and then choose the OK button:

    • MicrosoftMicrosoft.SharePoint.Client

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

    • Microsoft.VisualStudio.SharePointMicrosoft.VisualStudio.SharePoint

  5. Abra o menu de atalho para o WebPartNodeExtension do projeto e, em seguida, escolha propriedades.Open the shortcut menu for the WebPartNodeExtension project, and then choose Properties.

    O Designer de Projeto é aberto.The Project Designer opens.

  6. Escolha a guia Aplicativo.Choose the Application tab.

  7. No namespace padrão caixa (c#) ou namespace raiz (Visual Basic), digite ServerExplorer.SharePointConnections.WebPartNode.In the Default namespace box (C#) or Root namespace box (Visual Basic), enter ServerExplorer.SharePointConnections.WebPartNode.

Criar ícones para os novos nósCreate icons for the new nodes

Criar dois ícones para o Gerenciador de servidores extensão: um ícone para o novo Galeria de Web Parts nó e outro ícone para cada nó de Web Part filho sob o Galeria de Web Parts nó.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. Posteriormente neste passo a passo, você escreverá código que associa esses ícones com os nós.Later in this walkthrough, you'll write code that associates these icons with the nodes.

Para criar os ícones para os nósTo create icons for the nodes

  1. No Designer de projeto para o projeto WebPartNodeExtension, escolha o recursos guia.In the Project Designer for the WebPartNodeExtension project, choose the Resources tab.

  2. Escolha o link este projeto não contém um arquivo de recursos padrão. Clique aqui para criar um.Choose the link This project does not contain a default resources file. Click here to create one.

    Visual Studio cria um arquivo de recurso e abre no designer.Visual Studio creates a resource file and opens it in the designer.

  3. Na parte superior do designer, escolha a seta na adicionar recurso menu de comando e, em seguida, escolha adicionar novo ícone.At the top of the designer, choose the arrow on the Add Resource menu command, and then choose Add New Icon.

  4. Insira WebPartsNode para o ícone do novo nome e, em seguida, escolha o Add botão.Enter WebPartsNode for the new icon name, and then choose the Add button.

    O novo ícone abre na Editor de imagens.The new icon opens in the Image Editor.

  5. Edite a versão de 16x16 do ícone para que ele tenha um design que você pode reconhecer facilmente.Edit the 16x16 version of the icon so that it has a design that you can easily recognize.

  6. Abra o menu de atalho para a versão de 32 x 32 do ícone e, em seguida, escolha excluir tipo de imagem.Open the shortcut menu for the 32x32 version of the icon, and then choose Delete Image Type.

  7. Repita as etapas 3 a 7 para adicionar um segundo ícone aos recursos do projeto e nomeie esse ícone WebPart.Repeat steps 3 through 7 to add a second icon to the project resources, and name this icon WebPart.

  8. Na Gerenciador de soluções, no recursos pasta para o WebPartNodeExtension do projeto, escolha WebPartsNode.ico.In Solution Explorer, in the Resources folder for the WebPartNodeExtension project, choose WebPartsNode.ico.

  9. No propriedades janela, abra o Build Action lista e, em seguida, escolha Embedded Resource.In the Properties window, open the Build Action list, and then choose Embedded Resource.

  10. Repita as duas últimas etapas para WebPart.ico.Repeat the last two steps for WebPart.ico.

Criar uma classe que adiciona o novo Galeria de Web Parts nó para cada nó do site do SharePoint.Create a class that adds the new Web Part Gallery node to each SharePoint site node. Para adicionar o novo nó, a classe implementa o IExplorerNodeTypeExtension interface.To add the new node, the class implements the IExplorerNodeTypeExtension interface. Implementar essa interface sempre que você deseja estender o comportamento de um nó existente no Gerenciador de servidores, como adicionar um novo nó filho a um nó.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. Cole o seguinte código para o SiteNodeExtension arquivo de código para o WebPartNodeExtension projeto.Paste the following code into the SiteNodeExtension code file for the WebPartNodeExtension project.

    Note

    Depois de adicionar esse código, o projeto terá alguns erros de compilação.After you add this code, the project will have some compile errors. Esses erros serão eliminados quando você adicionar o código em etapas posteriores.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
    

Definir um tipo de nó que representa uma web partDefine a node type that represents a web part

Crie uma classe que define um novo tipo de nó que representa uma Web Part.Create a class that defines a new type of node that represents a Web Part. Visual Studio usa esse novo tipo de nó para exibir nós filho sob a Galeria de Web Parts nó.Visual Studio uses this new node type to display child nodes under the Web Part Gallery node. Cada um de nós filho representa uma única Web Part no site do SharePoint.Each of these child nodes represents a single Web Part on the SharePoint site.

Para definir o novo tipo de nó, a classe implementa o IExplorerNodeTypeProvider interface.To define the new node type, the class implements the IExplorerNodeTypeProvider interface. Implementar essa interface sempre que você deseja definir um novo tipo de nó no Gerenciador de servidores.Implement this interface whenever you want to define a new type of node in Server Explorer.

Para definir o tipo de nó da web partTo define the web part node type

  1. Cole o seguinte código para o WebPartNodeTypeProvider arquivo de código para o WebPartNodeExtension projeto.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
    

Ponto de verificaçãoCheckpoint

Neste ponto do passo a passo, todo o código para o Galeria de Web Parts nó agora está no projeto.At this point in the walkthrough, all the code for the Web Part Gallery node is now in the project. Criar o WebPartNodeExtension projeto para ter certeza de que ele foi compilado sem erros.Build the WebPartNodeExtension project to make sure that it compiles without errors.

Para compilar o projetoTo build the project

  1. Na Gerenciador de soluções, abra o menu de atalho para o WebPartNodeExtension do projeto e, em seguida, escolha Build.In Solution Explorer, open the shortcut menu for the WebPartNodeExtension project, and then choose Build.

Criar um pacote VSIX para implantar a extensãoCreate a VSIX package to deploy the extension

Para implantar a extensão, use o projeto do VSIX em sua solução para criar um pacote VSIX.To deploy the extension, use the VSIX project in your solution to create a VSIX package. Primeiro, configure o pacote VSIX modificando o arquivo vsixmanifest que está incluído no projeto.First, configure the VSIX package by modifying the source.extension.vsixmanifest file that's included in the project. Em seguida, crie o pacote VSIX criando a solução.Then create the VSIX package by building the solution.

Para configurar o pacote VSIXTo configure the VSIX package

  1. Na Gerenciador de soluções, no WebPartNode projeto, abra vsixmanifest arquivo no editor de manifesto.In Solution Explorer, in the WebPartNode project, open source.extension.vsixmanifest file in the manifest editor.

    O arquivo vsixmanifest é a base para o arquivo Extension vsixmanifest que exigem todos os pacotes VSIX.The source.extension.vsixmanifest file is the basis for the extension.vsixmanifest file that all VSIX packages require. Para obter mais informações sobre esse arquivo, consulte 1.0 referência do esquema de extensão do VSIX.For more information about this file, see VSIX Extension Schema 1.0 Reference.

  2. No nome do produto , digite Web parte Galeria de nó do Gerenciador de servidores.In the Product Name box, enter Web Part Gallery Node for Server Explorer.

  3. No autor , digite Contoso.In the Author box, enter Contoso.

  4. No descrição , digite adiciona um nó de galeria de Web Parts personalizado para o nó de conexões do SharePoint no Gerenciador de servidores.In the Description box, enter Adds a custom Web Part Gallery node to the SharePoint Connections node in Server Explorer.

  5. Sobre o ativos guia do editor, escolha a New botão.On the Assets tab of the editor, choose the New button.

  6. No adicionar novo ativo na caixa de tipo , escolha mefcomponent.In the Add New Asset dialog box, in the Type list, choose Microsoft.VisualStudio.MefComponent.

    Note

    Esse valor corresponde à MefComponent elemento no arquivo Extension vsixmanifest.This value corresponds to the MefComponent element in the extension.vsixmanifest file. Esse elemento Especifica o nome de um assembly de extensão no pacote VSIX.This element specifies the name of an extension assembly in the VSIX package. Para obter mais informações, consulte MEFComponent Element (esquema de VSX).For more information, see MEFComponent Element (VSX Schema).

  7. No fonte , escolha um projeto na solução atual.In the Source list, choose A project in current solution.

  8. No Project , escolha WebPartNodeExtensione, em seguida, escolha o Okey botão.In the Project list, choose WebPartNodeExtension, and then choose the OK button.

  9. Na barra de menus, escolha construir > compilar soluçãoe, em seguida, certifique-se de que a solução é compilado sem erros.On the menu bar, choose Build > Build Solution, and then make sure that the solution compiles without errors.

  10. Certifique-se de que a pasta de saída de compilação para o projeto WebPartNode agora contém o arquivo WebPartNode.vsix.Make sure that the build output folder for the WebPartNode project now contains the WebPartNode.vsix file.

    Por padrão, a pasta de saída de compilação é o... pasta \bin\debug sob a pasta que contém seu arquivo de projeto.By default, the build output folder is the ..\bin\Debug folder under the folder that contains your project file.

A extensão de testeTest the extension

Agora você está pronto para testar a nova Galeria de Web Parts nó no Gerenciador de servidores.You are now ready to test the new Web Part Gallery node in Server Explorer. Primeiro, começar a depurar o projeto de extensão em uma instância experimental do Visual Studio.First, start to debug the extension project in an experimental instance of Visual Studio. Em seguida, use o novo Web Parts nó na instância experimental do Visual Studio.Then use the new Web Parts node in the experimental instance of Visual Studio.

Para iniciar a extensão de depuraçãoTo start debugging the extension

  1. Reinicie o Visual Studio com credenciais administrativas e, em seguida, abra o WebPartNode solução.Restart Visual Studio with administrative credentials, and then open the WebPartNode solution.

  2. No projeto WebPartNodeExtension, abra o SiteNodeExtension arquivo de código e, em seguida, adicione um ponto de interrupção para as primeiras linhas de código na NodeChildrenRequested e CreateWebPartNodes métodos.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. Escolha o F5 tecla para iniciar a depuração.Choose the F5 key to start debugging.

    Visual Studio instalará a extensão para o servidor Explorer\1.0 %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web extensão de galeria de parte do nó e inicia uma instância experimental do 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. Você testará o item de projeto nesta instância do Visual Studio.You'll test the project item in this instance of Visual Studio.

Para testar a extensãoTo test the extension

  1. Na instância experimental do Visual Studio, na barra de menus, escolha modo de exibição > Gerenciador de servidores.In the experimental instance of Visual Studio, on the menu bar, choose View > Server Explorer.

  2. Verifique se o site do SharePoint que você deseja usar para teste aparece sob o conexões do SharePoint nó no Gerenciador de servidores.Verify that the SharePoint site that you want to use for testing appears under the SharePoint Connections node in Server Explorer. Se não estiver listado, siga estas etapas:If it's not listed, follow these steps:

    1. Abra o menu de atalho conexões do SharePointe, em seguida, escolha Adicionar Conexão.Open the shortcut menu for SharePoint Connections, and then choose Add Connection.

    2. No Adicionar Conexão do SharePoint diálogo caixa, digite a URL do site do SharePoint ao qual você deseja se conectar e, em seguida, escolha o Okey botão.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.

      Para especificar o site do SharePoint no computador de desenvolvimento, digite http://localhost.To specify the SharePoint site on your development computer, type http://localhost.

  3. Expanda o nó de conexão de site (que exibe a URL do seu site) e, em seguida, expanda um nó do site filho (por exemplo, Site de equipe).Expand the site connection node (which displays the URL of your site), and then expand a child site node (for example, Team Site).

  4. Verifique se o código em outra instância do Visual Studio para no ponto de interrupção que você definiu anteriormente na NodeChildrenRequested método e, em seguida, escolha o F5 tecla para continuar a depuração do projeto.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. Na instância experimental do Visual Studio, expanda o Galeria de Web Parts nó, que aparece sob o nó do site de nível superior.In the experimental instance of Visual Studio, expand the Web Part Gallery node, which appears under the top-level site node.

  6. Verifique se o código em outra instância do Visual Studio para no ponto de interrupção que você definiu anteriormente na CreateWebPartNodes método e, em seguida, escolha o F5 tecla para continuar a depuração do projeto.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. Na instância experimental do Visual Studio, verifique se todas as Web Parts no site conectado aparecem sob o Galeria de Web Parts nó no Gerenciador de servidores.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. Abra o menu de atalho para uma Web Part e, em seguida, escolha propriedades.Open the shortcut menu for a Web Part, and then choose Properties.

  9. No propriedades janela, verifique se os detalhes sobre a Web Part aparecem.In the Properties window, verify that details about the Web Part appear.

  10. Na Gerenciador de servidores, abra o menu de atalho para a Web Part do mesmo e, em seguida, escolha Exibir mensagem.In Server Explorer, open the shortcut menu for the same Web Part, and then choose Display Message.

    Na caixa de mensagem que aparece, escolha o Okey botão.In the message box that appears, choose the OK button.

Desinstalar a extensão do Visual StudioUninstall the extension from Visual Studio

Depois de concluir a extensão de teste, você deve desinstalá-lo do Visual Studio.After you finish testing the extension, uninstall it from Visual Studio.

Para desinstalar a extensãoTo uninstall the extension

  1. Na instância experimental do Visual Studio, na barra de menus, escolha ferramentas > extensões e atualizações.In the experimental instance of Visual Studio, on the menu bar, choose Tools > Extensions and Updates.

    A caixa de diálogo Extensões e Atualizações é aberta.The Extensions and Updates dialog box opens.

  2. Na lista de extensões, escolha Web Part Galeria de nó do Gerenciador de servidorese, em seguida, escolha o desinstalar botão.In the list of extensions, choose Web Part Gallery Node for Server Explorer, and then choose the Uninstall button.

  3. Na caixa de diálogo que aparece, escolha o Sim botão.In the dialog box that appears, choose the Yes button.

  4. Escolha o reiniciar agora botão para concluir a desinstalação.Choose the Restart Now button to complete the uninstallation.

    O item de projeto também será desinstalado.The project item is also uninstalled.

  5. Feche ambas as instâncias do Visual Studio (a instância experimental e a instância do Visual Studio em que a solução WebPartNode estiver aberta).Close both instances of Visual Studio (the experimental instance and the instance of Visual Studio in which the WebPartNode solution is open).

Consulte tambémSee also

Chamar os modelos de objeto do SharePoint Call into the SharePoint object models
Estender o nó de conexões do SharePoint no Gerenciador de servidores Extend the SharePoint connections node in Server Explorer
Passo a passo: Estenda o Gerenciador de servidores para exibir web parts Walkthrough: Extend Server Explorer to display web parts
Editor de imagens para ícones Image Editor for Icons
Criando um ícone ou outra imagem (Editor de imagens para ícones)Creating an Icon or Other Image (Image Editor for Icons)