Demonstra Passo a passo: A chamada para o modelo de objeto do cliente do SharePoint em uma extensão do Server Explorer

Esta explicação passo a passo demonstra como chamar o modelo de objeto de cliente do SharePoint a partir de uma extensão para o sharepoint ConnectionsServer Explorer. 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 um Visual Studio extensão que estende o sharepoint Connections o nó de Server Explorer das seguintes maneiras:

    • Adiciona um novo Galeria de Web Parts nó em cada nó de site do SharePoint no Server Explorer. Esse novo nó contém nós filhos que representam cada Web Part na Galeria de Web Parts no site.

    • Ele define um novo tipo de nó que representa uma instância da Web Part. Esse novo tipo de nó é a base para os nós filho sob a nova Galeria de Web Parts nó. O novo tipo de nó de Web Part exibe informações de Propriedades janela sobre a Web Part que ele representa.

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

  • A extensão de teste e depuração.

ObservaçãoObservação

A extensão que você criar nesta explicação é semelhante a extensão que você criar no Demonstra Passo a passo: Estendendo o Server Explorer para exibir Web Parts. No entanto, enquanto esse passo a passo usa o modelo de objeto de servidor do SharePoint, este passo a passo realiza as mesmas tarefas usando o modelo de objeto do cliente.

Pré-requisitos

É necessário que os seguintes componentes no computador de desenvolvimento para concluir este passo a passo:

Conhecimento dos seguintes conceitos é útil, mas não necessário para concluir o passo a passo:

A criação de projetos

Para concluir este passo a passo, você precisará criar dois projetos:

  • Para criar o pacote VSIX para implantar um projeto de VSIX a Server Explorer extensão.

  • Um projeto de biblioteca de classe que implementa o Server Explorer extensão.

Inicie o passo a passo através da criação de projetos.

Para criar o projeto VSIX

  1. Inicie o Visual Studio

  2. No menu File, aponte para New, e em seguida, clique em Project.

  3. No Novo projeto caixa de diálogo caixa, expanda o Visual C# ou Visual Basic nós e clique extensibilidade.

    ObservaçãoObservação

    O extensibilidade nó só estará disponível se você instalar o SDK de 2010 Visual Studio. Para obter mais informações, consulte a seção de pré-requisitos acima.

  4. Na caixa de combinação na parte superior da caixa de diálogo, selecione .NET Framework 4. As extensões de ferramentas de SharePoint requerem recursos nesta versão do.NET Framework.

  5. Clique o O projeto de VSIX modelo.

  6. No nome , digite WebPartNode.

  7. Clique em OK.

    Visual StudioAdiciona o WebPartNode de projeto para Solution Explorer.

Para criar o projeto de extensão

  1. Em Solution Explorer, o botão direito do mouse no nó da solução, clique em Adde em seguida, clique em Novo projeto.

    ObservaçãoObservação

    Em projetos de Visual Basic, o nó de solução aparece na Solution Explorer somente quando o Always show solution caixa de seleção estiver marcada na Geral, projetos e soluções, caixa de diálogo Options.

  2. No Novo projeto caixa de diálogo caixa, expanda o Visual C# ou Visual Basic nós e clique Windows.

  3. Na caixa de combinação na parte superior da caixa de diálogo, selecione .NET Framework 4.

  4. Selecione o Biblioteca de classe o modelo de projeto.

  5. No nome , digite WebPartNodeExtension.

  6. Clique em OK.

    Visual StudioAdiciona o WebPartNodeExtension o projeto à solução e abre o arquivo de código padrão Class1.

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

Configurando o projeto de extensão

Antes de escrever código para criar a extensão, você precisa adicionar os arquivos de código e referências assembly para seu projeto e atualizar o namespace padrão.

Para configurar o projeto.

  1. No WebPartNodeExtension de projeto, adicione duas de código com os seguintes nomes:

    • SiteNodeExtension

    • WebPartNodeTypeProvider

  2. No menu Project, escolha Add Reference.

  3. Sobre o .NET guia, pressione CTRL e selecione os seguintes assemblies e clique OK:

    • Microsoft.SharePoint.Client

    • Microsoft.SharePoint.Client.Runtime

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

    • System.Windows.Forms

  4. Sobre o projeto menu, selecione Propriedades de WebPartNodeExtension.

    O Project Designer abre.

  5. Clique o aplicativo guia.

  6. No espaço para nome padrão caixa (C#) ou namespace raiz caixa (Visual Basic), digite ServerExplorer.SharePointConnections.WebPartNode.

Criando ícones para os novos nós

Crie dois ícones para o Server Explorer extensão: um ícone para o novo Galeria de Web Parts nó e o outro ícone para cada nó de Web Part do filho sob a Galeria de Web Parts nó. Posteriormente nesta explicação passo a passo, você irá escrever código que associa esses ícones de nós.

Para criar ícones para os nós

  1. No Project Designer para o projeto WebPartNodeExtension, clique no recursos guia.

  2. Clique em Este projeto não contém um arquivo de recursos padrão. Clique aqui para criar um.

    Visual Studio cria um arquivo de recursos e o abre no designer.

  3. Na parte superior do designer, clique na seta suspensa no Add botão e, em seguida, clique em Adicionar um novo ícone.

  4. Tipo de WebPartsNode para o novo nome do ícone e clique em Add.

    O novo ícone abre no O Editor de imagem.

  5. Edite a versão de 16x16 do ícone, para que ele tenha um design que você possa reconhecer facilmente.

  6. Clique na versão de 32 x 32 do ícone.

  7. Sobre o imagem menu, clique em Excluir tipo de imagem.

  8. Repita as etapas 3 a 7 para adicionar um segundo ícone aos recursos do projeto. Este ícone de nome WebPart.

  9. No Solution Explorer, na recursos a pasta para o WebPartNodeExtension o projeto, selecione WebPartsNode.ico.

  10. No Propriedades janela, clique na lista suspensa ao lado de Build Action e selecione Embedded Resource.

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

Adicionar o nó de galeria de Web Parts ao Server Explorer

Criar uma classe que adiciona o novo Galeria de Web Parts o nó para cada nó de site do SharePoint. Para adicionar o novo nó implementa a classe de IExplorerNodeTypeExtension interface. Implementar essa interface, sempre que você deseja estender o comportamento de um nó existente em Server Explorer, como, por exemplo, adicionando um novo nó filho em um nó.

Para adicionar o nó da Galeria de Web Parts para o Server Explorer

  1. No projeto WebPartNodeExtension, clique duas vezes no arquivo de código SiteNodeExtension.

  2. Cole o código a seguir esse arquivo.

    ObservaçãoObservação

    Após adicionar esse código, o projeto terá alguns erros de compilação. Esses erros desaparecem 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 uma Web Part

Crie uma classe que define um novo tipo de nó que representa uma Web Part. Esse novo tipo de nó é usado por Visual Studio para exibir nós filho sob a Galeria de Web Parts nó. Cada um de nós filho representa uma única Web Part no site do SharePoint.

Para definir o novo tipo de nó, implementa a classe de IExplorerNodeTypeProvider interface. Implementar essa interface, sempre que você deseja definir um novo tipo de nó no Server Explorer.

Para definir o tipo de nó de Web Part

  1. No projeto WebPartNodeExtension, clique duas vezes no arquivo de código WebPartNodeTypeProvider.

  2. Cole o código a seguir esse arquivo.

    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

Neste ponto, passo a passo, todo o código para o Galeria de Web Parts nó agora está no projeto. Crie a solução para certificar-se de que o projeto é compilado sem erros.

Para criar a solução

  • Sobre o Build menu, selecione Build Solution.

Criando um pacote VSIX para implantar a extensão.

Para implantar a extensão, use o projeto VSIX em sua solução para criar um pacote VSIX. Primeiro, configure o pacote VSIX modificando o arquivo source.extension.vsixmanifest que está incluído no projeto. Em seguida, crie o pacote VSIX pela criação da solução.

Para configurar o pacote VSIX

  1. Em Solution Explorer, na WebPartNode de projeto, clique duas vezes o source.extension.vsixmanifest arquivo no projeto WebPartNode.

    Visual Studio abre o arquivo no editor de manifesto. O arquivo de source.extension.vsixmanifest é que a base para o arquivo extension.vsixmanifest é necessária para todos os pacotes VSIX. Para obter mais informações sobre este arquivo, consulte VSX Schema for Extensions.

  2. No Nome do produto , digite Nó de galeria de Web Part para o Server Explorer.

  3. No Autor , digite Contoso.

  4. No Descrição , digite adiciona um nó da Galeria de Web Parts personalizada para o nó do SharePoint Connections no Server Explorer.

  5. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  6. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione MEF componente.

    ObservaçãoObservação

    Este valor corresponde do MefComponent elemento no arquivo extension.vsixmanifest. Este elemento Especifica o nome de um assembly de extensão no pacote VSIX. Para obter mais informações, consulte MEFComponent Element (VSX Schema).

  7. Em Selecionar uma fonte de, clique o projeto botão de opção e, em seguida, selecione WebPartNodeExtension em que a caixa de listagem.

  8. Clique em OK.

  9. Sobre o Build menu, clique em Build Solution. Certifique-se de que a solução é compilado sem erros.

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

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

A extensão de teste.

Agora você está pronto para testar a nova Galeria de Web PartsServer Explorer. Primeiro, inicie a depuração do projeto de extensão em uma instância experimental de Visual Studio. Em seguida, usar o novo Web Parts o nó na instância experimental do Visual Studio.

Para iniciar a extensão de depuração.

  1. Reinicie o Visual Studio com privilégios de administrador e abra o WebPartNode solução.

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

  3. Pressione F5 para iniciar a depuração.

    Visual Studio instala a extensão a extensão de nó de galeria de parte de %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Web para Explorer\1.0 do servidor e inicia uma instância experimental do Visual Studio. Você testará o item de projeto nesta instância do Visual Studio.

Para testar a extensão.

  1. Na instância experimental do Visual Studio, sobre o Exibir menu, clique em Server Explorer.

  2. Verifique se o site do SharePoint que você deseja usar para teste aparece sob o sharepoint ConnectionsServer Explorer. Se não estiver listado, execute estas etapas:

    1. Com o botão direito sharepoint Connections e clique em Add Connection.

    2. No Adicionar conexão com o SharePoint caixa de diálogo, digite a URL do site do SharePoint que você deseja se conectar. Para especificar o site do SharePoint no seu computador de desenvolvimento, digite https://localhost.

    3. Clique em OK.

  3. Expanda o nó de conexão do site (o nó exibe o URL do seu site) e um nó de site filho (por exemplo, O Site de equipe).

  4. Verificar que o código na instância de Visual Studio pára no ponto de interrupção que você definiu anteriormente na NodeChildrenRequested método. Pressione F5 para continuar a depurar o projeto.

  5. Na instância experimental do Visual Studio, verifique se que um novo nó denominado Galeria de Web Parts aparece sob o nó do site de nível superior. Expanda o Galeria de Web Parts nó.

  6. Verificar que o código na instância de Visual Studio pára no ponto de interrupção que você definiu anteriormente na CreateWebPartNodes método. Pressione F5 para continuar a depurar o projeto.

  7. Na instância experimental do Visual Studio, verifique se todos os Web Parts no site conectado aparecem sob o Galeria de Web PartsServer Explorer.

  8. Clique com o botão direito do que o Web Parts e, em seguida, clique em Propriedades.

  9. Verifique se aparecem em detalhes sobre a Web Part de Propriedades janela.

  10. Em Server Explorer, o botão direito do mouse na mesma Web Part novamente e clique em Exibir mensagem.

    Verifique se a caixa de mensagem aparece. Clique em OK na caixa de mensagem.

Desinstalando a extensão de Visual Studio

Após concluir o teste a extensão, desinstale a extensão do Visual Studio.

Para desinstalar a extensão.

  1. Na instância experimental do Visual Studio, sobre o Ferramentas menu, clique em Extension Manager.

    O Extension Manager abre a caixa de diálogo.

  2. Na lista de extensões, clique em Extensão de nó de galeria de Web Part para o Server Explorere em seguida, clique em desinstalar.

  3. Na caixa de diálogo que aparece, clique em Sim para confirmar que você deseja desinstalar a extensão.

  4. Clique em Reiniciar agora para concluir a desinstalação. O item de projeto também será desinstalado.

  5. Feche as duas instâncias de Visual Studio (a instância experimental e a instância do Visual Studio que abriu a solução de WebPartNode).

Consulte também

Tarefas

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

Criando um novo Bitmap ou outra imagem

Referência

Editor de imagens

Conceitos

A chamada para os modelos de objeto do SharePoint

Outros recursos

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