Partilhar via


Passo a passo: Chamando o modelo de objeto do cliente do SharePoint em uma extensão do Server Explorer

Essa explicação passo a passo demonstra como chamar o modelo de objeto de cliente do SharePoint de uma extensão para o nó de Conexões do SharePoint em Gerenciador de Servidores.Para obter mais informações sobre como usar o modelo de objeto de cliente do SharePoint, consulte A chamada para os modelos de objeto do SharePoint.

Essa explicação passo a passo demonstra as seguintes tarefas:

  • Criando uma extensão de Visual Studio que estende o nó de Conexões do SharePoint de Gerenciador de Servidores das seguintes maneiras:

    • A extensão adiciona um nó de Galeria de Web Parts em cada nó de site web do SharePoint em Gerenciador de Servidores.Esse novo nó contém os nós filhos representando cada Web parts em galeria de Web parts no site.

    • A extensão define um novo tipo de nó que representa uma instância de Web parts.Esse novo tipo de nó é a base para os nós filho no novo nó de Galeria de Web Parts .O novo tipo de nó de Web parts exibe informações na janela de Propriedades sobre Web parts que representa o nó.

  • Criando um pacote de extensão (Visual Studio) VSIX para implantar a extensão.

  • Depuração e teste a extensão.

ObservaçãoObservação

A extensão que você criar em essa explicação passo a passo é semelhante à medida que você cria em Passo a passo: Estendendo o Server Explorer para exibir Web Parts.O explicação passo a passo usa o modelo de objeto de servidor do SharePoint, mas essa explicação passo a passo realiza as mesmas tarefas usando o modelo de objeto de cliente.

Pré-requisitos

Você precisa dos seguintes componentes no computador de desenvolvimento de concluir este explicação passo a passo:

Conhecer os seguintes conceitos é útil, mas não necessário, concluir a explicação passo a passo:

Criando projetos

Para concluir esta explicação passo-a-passo, você deve criar dois projetos:

  • Um projeto de VSIX criar o conjunto de VSIX para implantar a extensão de Gerenciador de Servidores .

  • Um projeto de biblioteca de classe que implementa a extensão de Gerenciador de Servidores .

Inicie o passo-a-passo criando projetos.

Para criar o projeto VSIX

  1. Inicie o Visual Studio

  2. Em a barra de menu, escolha Arquivo, Novo, Projeto.

  3. Em a caixa de diálogo de Novo Projeto , expanda os nós de Visual C# ou de Visual Basic , e então escolha Extensibilidade.

    ObservaçãoObservação

    O nó de Extensibilidade está disponível somente se você instalar o Visual Studio SDK.Para obter mais informações, consulte a seção de pré-requisito anteriormente em este tópico.

  4. Em a parte superior da caixa de diálogo, escolha o .NET Framework 4,5 na lista de versões do .NET Framework.

    As extensões de ferramentas do SharePoint exigem recursos em esta versão do.NET Framework.

  5. Escolha o modelo de projeto de VSIX .

  6. Em a caixa de Nome , o tipo WebPartNode, e clique no botão de OK .

    Visual Studio adiciona o projeto de WebPartNode a Gerenciador de Soluções.

Para criar o projeto de extensão

  1. Em Gerenciador de Soluções, abra o menu de atalho para o nó da solução, escolha Adicionar, e então escolha Novo Projeto.

    ObservaçãoObservação

    Em projetos Visual Basic, o nó da solução aparece em Gerenciador de Soluções somente quando a caixa de seleção de Sempre mostrar solução está selecionada em General, Projects and Solutions, Options Dialog Box.

  2. Em a caixa de diálogo de Novo Projeto , expanda os nós de Visual C# ou de Visual Basic , e então escolha Janelas.

  3. Em a parte superior da caixa de diálogo, escolha o .NET Framework 4,5 na lista de versões do .NET Framework.

  4. Em a lista de modelos de projeto, escolha Biblioteca de Classes.

  5. Em a caixa de Nome , entre em WebPartNodeExtension, e então escolha o botão de OK .

    Visual Studio adiciona o projeto de WebPartNodeExtension a solução e abre o arquivo de código Class1 de opção.

  6. Exclua o arquivo de código Class1 do projeto.

Configurando o projeto de extensão

Antes que você escreva código para criar uma extensão, você deve adicionar arquivos de código e referências assembly ao seu projeto, e você deve atualizar o namespace padrão.

para configurar o projeto

  1. Em o projeto de WebPartNodeExtension , adicione dois arquivos de código que são nomeados SiteNodeExtension e WebPartNodeTypeProvider.

  2. Abra o menu de atalho para o projeto de WebPartNodeExtension, e então escolha Adicionar Referência.

  3. Em a caixa de diálogo de Gerenciador de referência – WebPartNodeExtension , escolha o nó de estrutura em seguida, marque as caixas de seleção para assemblies de System.ComponentModel.Composition e System.Windows.Forms.

  4. Escolha o nó de Extensões , selecione a caixa de seleção para cada um dos seguintes conjuntos de módulos (assemblies), e depois escolha o botão de OK :

    • Microsoft.SharePoint.Client

    • Microsoft.SharePoint.Client.Runtime

    • Microsoft.VisualStudio.SharePoint

  5. Abra o menu de atalho para o projeto de WebPartNodeExtension , e então escolha Propriedades.

    O Project Designer abre.

  6. Escolha a guia de Aplicativo .

  7. Em a caixa de Namespace padrão (C#) ou na caixa de Namespace raiz (Visual Basic), entre em ServerExplorer.SharePointConnections.WebPartNode.

Criando ícones para novos nós

crie dois ícones para a extensão de Gerenciador de Servidores : um ícone para o novo nó de Galeria de Web Parts e outro ícone para cada nó filho de Web parts sob o nó de Galeria de Web Parts .Posteriormente em esta explicação passo a passo, você irá escrever o código que associa esses ícones com os nós.

Para criar ícones para nós

  1. Em Designer de Projeto para o projeto de WebPartNodeExtension, escolha a guia de Recursos .

  2. Escolha o link que este projeto não contém um arquivo de recursos padrão. Clique aqui para criar um.

    O Visual Studio cria um arquivo de recurso e abre no designer.

  3. Em a parte superior do designer, escolha a seta no comando de menu de Adicionar Recurso , e então escolha Adicionar Novo Ícone.

  4. Entre em WebPartsNode para o novo nome ícone, e então escolha o botão de Adicionar .

    o novo ícone abre em Editor de Imagem.

  5. Edite a versão 16x16 de ícone de modo que tenha um design que você pode facilmente reconhecer.

  6. Abra o menu de atalho para a versão 32x32 ícone, e então escolha Excluir Tipo de Imagem.

  7. Repita as etapas 3 a 7 para adicionar um segundo ícone aos recursos do projeto, e nomeie este ícone WebPart.

  8. Em Gerenciador de Soluções, na pasta de Recursos para o projeto de WebPartNodeExtension , escolha WebPartsNode.ico.

  9. Em a janela de Propriedades , abra a lista de Ação de Compilação , e então escolha Recurso Incorporado.

  10. Repita as duas últimas etapas para WebPart.ico.

Adicionando o nó de galeria de Web parts ao server Explorer

Crie uma classe que adiciona o novo nó de Galeria de Web Parts a cada nó de site web do SharePoint.para adicionar o novo nó, a classe implementa a interface de IExplorerNodeTypeExtension .Implementar essa interface sempre que você deseja estender o comportamento de um nó existente em Gerenciador de Servidores, como adicionar um novo nó filho a um nó.

Para adicionar o nó de galeria de Web parts ao server Explorer

  • Cole o seguinte código no arquivo de código de SiteNodeExtension para o projeto de WebPartNodeExtension .

    ObservaçãoObservação

    Após adicionar este código, compilar o projeto mandará alguns erros.Esses erros partirão quando você adiciona o código em etapas posteriores.

    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);
                    }
                }
            }
        }
    }
    

Definindo um tipo de nó que representa a Web parts

Crie uma classe que define um novo tipo de nó que representa a Web parts.O Visual Studio usa esse novo tipo de nó para exibir nós filho no nó de Galeria de Web Parts .Cada um de esses nós filho representa único Web parts no site do SharePoint.

Para definir um novo tipo de nó, a classe implementa a interface de IExplorerNodeTypeProvider .Implementar essa interface sempre que você deseja definir um novo tipo de nó em Gerenciador de Servidores.

Para definir o tipo de nó de Web parts

  • Cole o seguinte código no arquivo de código de WebPartNodeTypeProvider para o projeto de WebPartNodeExtension .

    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");
                }
            }
        }
    }
    

Ponto de Verificação

Em esse ponto do passo-a-passo, todo o código para o nó de Galeria de Web Parts agora está no projeto.Compile o projeto de WebPartNodeExtension certificar-se que compila sem erros.

Para criar o projeto

  • Em Gerenciador de Soluções, abra o menu de atalho para o projeto de WebPartNodeExtension , e então escolha Compilar.

Criando um conjunto de VSIX para implantar a extensão

Para implantar a extensão, use o projeto de VSIX em sua solução criar um conjunto de VSIX.Primeiro, configure o conjunto de VSIX modificando o arquivo de source.extension.vsixmanifest que está incluído no projeto.Crie o conjunto de VSIX criando a solução.

Para configurar o conjunto de VSIX

  1. Em Gerenciador de Soluções, no projeto de WebPartNode , arquivo aberto no editor de source.extension.vsixmanifest manifesto.

    O arquivo de source.extension.vsixmanifest é a base para o arquivo de extension.vsixmanifest que quaisquer pacotes de VSIX exigem.Para obter mais informações sobre este arquivo, consulte Referência de esquema de extensão VSIX.

  2. Em a caixa de Nome do produto , entre em Nó de galeria de Web parts para o server Explorer.

  3. Em a caixa de Autor , entre em Contoso.

  4. Em a caixa de Descrição , entre em Adiciona um nó personalizado de galeria de Web parts para o nó de conexões do SharePoint no server Explorer.

  5. Em a guia de Ativos do editor, escolha o botão de Novo .

  6. Em a caixa de diálogo de adicionar o novo recurso , na lista de Tipo , escolha Microsoft.VisualStudio.MefComponent.

    ObservaçãoObservação

    Esse valor corresponde ao elemento de MefComponent no arquivo de extension.vsixmanifest.Esse elemento especifica o nome de um assembly de extensão no conjunto de VSIX.Para obter mais informações, consulte MEFComponent Element.

  7. Em a lista de Origem , escolha Um projeto na solução atual.

  8. Em a lista de Projeto , escolha, e escolha WebPartNodeExtensionno botão de OK .

  9. Em a barra de menu, escolha Compilar, Compilar solução, e então certifique-se de que a solução compila sem erros.

  10. Certifique-se de que a pasta de saída de compilação para o projeto de WebPartNode agora contém o arquivo de WebPartNode.vsix.

    Por padrão, a pasta de saída de compilação é.\ bin \ debug de sob a pasta que contém o arquivo de projeto.

testando a extensão

Você agora está pronto para testar o novo nó de Galeria de Web Parts em Gerenciador de Servidores.Primeiro, início para depurar o projeto de extensão em uma instância de avaliação do Visual Studio.Use o novo nó de Web Parts na instância de avaliação do Visual Studio.

Para iniciar a depuração da extensão

  1. Reinicie o Visual Studio com credenciais administrativas, e abra a solução de WebPartNode .

  2. Em o projeto de WebPartNodeExtension, abra o arquivo de código de SiteNodeExtension , e adicione um ponto de interrupção as primeiras linhas de código em métodos de NodeChildrenRequested e de CreateWebPartNodes .

  3. Escolha a tecla F5 para iniciar a depuração.

    O Visual Studio instala a extensão em %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web Part Gallery Node Extension for Server Explorer\1.0 e inicia uma instância de avaliação do Visual Studio.Você irá testar o item de projeto em esse caso do Visual Studio.

para testar a extensão

  1. Em a instância de avaliação do Visual Studio, na barra de menu, escolha Modo de Visualização, Gerenciador de Servidores.

  2. Verifique se o site da web do SharePoint que você deseja usar para testar aparece sob o nó de Conexões do SharePoint em Gerenciador de Servidores.Se não estiver listada, siga estas etapas:

    1. Abra o menu de atalho para Conexões do SharePoint, e então escolha Adicionar Conexão.

    2. Em a caixa de diálogo de Adicione a conexão do SharePoint , digite o URL do site da web do SharePoint para o qual você deseja se conectar, e então escolha o botão de OK .

      Para especificar o site da web do SharePoint no seu computador de desenvolvimento, digite https://localhost.

  3. Expanda o nó de conexão do site (que exibe o URL do seu site) em seguida, expanda o nó de site filho (por exemplo, Site da Equipe).

  4. Verifique se o código em outra instância do Visual Studio pára no ponto de interrupção que você definiu anteriormente no método de NodeChildrenRequested , e então escolha a tecla F5 para continuar a depuração o projeto.

  5. Em a instância de avaliação do Visual Studio, expanda o nó de Galeria de Web Parts , que aparece sob o nó do site de nível superior.

  6. Verifique se o código em outra instância do Visual Studio pára no ponto de interrupção que você definiu anteriormente no método de CreateWebPartNodes , e então escolha a tecla F5 para continuar a depuração o projeto.

  7. Em a instância de avaliação do Visual Studio, verifique se todas as Web Parts no site conectada aparece sob o nó de Galeria de Web Parts em Gerenciador de Servidores.

  8. Abra o menu de atalho para Web parts, e então escolha Propriedades.

  9. Em a janela de Propriedades , verifique se os detalhes sobre Web parts aparecerem.

  10. Em Gerenciador de Servidores, abra o menu de atalho para mesmo Web parts, e então escolha Exibir mensagem.

    Em a caixa de mensagem que aparece, escolha o botão de OK .

Desinstalar a extensão do Visual Studio

Depois que você concluir testar a extensão, desinstalar-la do Visual Studio.

para desinstalar a extensão

  1. Em a instância de avaliação do Visual Studio, na barra de menu, escolha Ferramentas, Extensões e Atualizações.

    a caixa de diálogo de Extensões e Atualizações abre.

  2. Em a lista de extensões Nó de galeria de Web parts para o server Explorer, escolha, e escolha no botão de Desinstalar .

  3. Em a caixa de diálogo que aparece, escolha o botão de Sim .

  4. Escolha o botão de Reiniciar Agora para concluir a desinstalação.

    O item de projeto também é desinstalado.

  5. Feche as duas instâncias do Visual Studio (a instância de avaliação e instância do Visual Studio em que a solução de WebPartNode estiver aberta.)

Consulte também

Tarefas

Passo a passo: Estendendo o Server Explorer para exibir Web Parts

Criar um ícone ou outra imagem (Editor de imagens para ícones)

Referência

Editor de imagens para ícones

Conceitos

A chamada para os modelos de objeto do SharePoint

Outros recursos

Estendendo o nó de conexões do SharePoint no Server Explorer