Condividi tramite


Procedura dettagliata: chiamata al modello a oggetti del client di SharePoint in un'estensione di Esplora server

In questa procedura dettagliata viene illustrato come chiamare il modello a oggetti del client di SharePoint da un'estensione per il nodo Connessioni di SharePoint in Esplora server. Per ulteriori informazioni sull'utilizzo del modello a oggetti del client di SharePoint, vedere Chiamate ai modelli a oggetti di SharePoint.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un'estensione di Visual Studio che estende il nodo Connessioni di SharePoint di Esplora server nei modi seguenti:

    • Aggiunge un nuovo nodo Raccolta web part sotto qualsiasi nodo del sito di SharePoint in Esplora server. In questo nuovo nodo sono contenuti nodi figlio che rappresentano ogni web part nella relativa raccolta sul sito.

    • Definisce un nuovo tipo di nodo che rappresenta un'istanza di web part. Questo nuovo tipo di nodo è la base dei nodi figlio sotto il nuovo nodo Raccolta web part. Il nuovo tipo di nodo di web part visualizza le informazioni nella finestra Proprietà relativa alla web part che rappresenta.

  • Compilazione di un pacchetto Visual Studio Extension (VSIX) per distribuire l'estensione.

  • Debug e test dell'estensione.

Nota

L'estensione che si crea in questa procedura dettagliata assomiglia all'estensione che si crea in Procedura dettagliata: estensione di Esplora server per visualizzare web part. Tuttavia, mentre in quella procedura dettagliata viene utilizzato il modello a oggetti del server SharePoint, questa porta a termine le stesse attività tramite il modello a oggetti del client.

Prerequisiti

Per completare la procedura dettagliata, nel computer di sviluppo devono essere presenti i componenti elencati di seguito:

Per completare la procedura dettagliata è consigliabile conoscere i concetti riportati di seguito:

  • Utilizzo del modello a oggetti del client di SharePoint. Per ulteriori informazioni, vedere l'articolo relativo al modello a oggetti del client gestito (la pagina potrebbe essere in inglese).

  • Web part in Microsoft SharePoint Services. Per ulteriori informazioni, vedere l'articolo relativo alla panoramica delle web part (la pagina potrebbe essere in inglese).

Creazione dei progetti

Per completare questa procedura dettagliata è necessario creare due progetti:

  • Un progetto VSIX per creare il pacchetto VSIX allo scopo di distribuire l'estensione di Esplora server.

  • Un progetto Libreria di classi che implementa l'estensione di Esplora server.

Iniziare la procedura dettagliata creando i progetti.

Per creare il progetto VSIX

  1. Avviare Visual Studio.

  2. Scegliere Nuovo dal menu File, quindi fare clic su Progetto.

  3. Nella finestra di dialogo Nuovo progetto espandere i nodi Visual C# o Visual Basic, quindi fare clic su Extensibility.

    Nota

    Il nodo Extensibility è disponibile solo se si installa Visual Studio 2010 SDK. Per ulteriori informazioni, vedere la sezione dei prerequisiti riportata in precedenza.

  4. Selezionare .NET Framework 4 dalla casella combinata nella parte superiore della finestra di dialogo. Le estensioni degli strumenti di SharePoint richiedono alcune funzionalità di questa versione di .NET Framework.

  5. Scegliere il modello VSIX Project.

  6. Nella casella Nome digitare WebPartNode.

  7. Fare clic su OK.

    Visual Studio aggiunge il progetto WebPartNode a Esplora soluzioni.

Per creare il progetto di estensione

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo della soluzione, scegliere Aggiungi, quindi Nuovo progetto.

    Nota

    Nei progetti di Visual Basic, il nodo della soluzione viene visualizzato in Esplora soluzioni solo quando la casella di controllo Mostra sempre soluzione viene selezionata in Finestra di dialogo Opzioni, Progetti e soluzioni, Generale.

  2. Nella finestra di dialogo Nuovo progetto espandere i nodi Visual C# o Visual Basic, quindi fare clic su Windows.

  3. Selezionare .NET Framework 4 dalla casella combinata nella parte superiore della finestra di dialogo.

  4. Selezionare il modello di progetto Libreria di classi.

  5. Nella casella Nome digitare WebPartNodeExtension.

  6. Fare clic su OK.

    In Visual Studio il progetto WebPartNodeExtension viene aggiunto alla soluzione e viene aperto il file di codice predefinito Class1.

  7. Eliminare il file di codice Class1 dal progetto.

Configurazione del progetto di estensione

Prima di scrivere codice per creare l'estensione, è necessario aggiungere al progetto file di codice e riferimenti all'assembly, nonché aggiornare lo spazio dei nomi predefinito.

Per configurare il progetto

  1. Nel progetto WebPartNodeExtension aggiungere due file di codice con i nomi seguenti:

    • SiteNodeExtension

    • WebPartNodeTypeProvider

  2. Scegliere Aggiungi riferimento dal menu Progetto.

  3. Nella scheda .NET premere CTRL e selezionare gli assembly seguenti, quindi fare clic su OK:

    • Microsoft.SharePoint.Client

    • Microsoft.SharePoint.Client.Runtime

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

    • System.Windows.Forms

  4. Scegliere Proprietà di WebPartNodeExtension dal menu Progetto.

    Viene aperta la finestra Progettazione progetti.

  5. Scegliere la scheda Applicazione.

  6. Nella casella Spazio dei nomi predefinito (C#) o Spazio dei nomi radice (Visual Basic) digitare ServerExplorer.SharePointConnections.WebPartNode.

Creazione di icone per i nuovi nodi

Creare due icone per l'estensione Esplora server: una per il nuovo nodo Raccolta web part e un'altra per ogni nodo di web part figlio presente sotto il nodo Raccolta web part. Più avanti nella procedura dettagliata si scriverà codice che associa queste icone ai nodi.

Per creare icone per i nodi

  1. Fare clic sulla scheda Risorse in Progettazione progetti per il progetto WebPartNodeExtension.

  2. Fare clic su Il progetto non contiene un file di risorse predefinito. Fare clic qui per crearlo.

    In Visual Studio viene creato un file di risorse che viene aperto nella finestra di progettazione.

  3. Nella parte superiore della finestra di progettazione, fare clic sulla freccia a discesa sul pulsante Aggiungi, quindi selezionare Aggiungi nuova icona.

  4. Digitare WebPartsNode come nome della nuova icona, quindi scegliere Aggiungi.

    La nuova icona viene aperta in Editor immagini.

  5. Modificare la versione 16x16 dell'icona in modo che la relativa progettazione sia facilmente riconoscibile.

  6. Selezionare la versione 32x32 dell'icona.

  7. Scegliere Elimina tipo di immagine dal menu Immagine.

  8. Ripetere i passaggi da 3 a 7 per aggiungere una seconda icona alle risorse del progetto. Denominare questa icona WebPart.

  9. In Esplora soluzioni selezionare WebPartsNode.ico nella cartella Risorse per il progetto WebPartNodeExtension.

  10. Nella finestra Proprietà fare clic sull'elenco a discesa accanto a Operazione di compilazione e selezionare Risorsa incorporata.

  11. Ripetere gli ultimi due passaggi per WebPart.ico.

Aggiunta del nodo Raccolta web part a Esplora server

Creare una classe che aggiunge il nuovo nodo Raccolta web part a ogni nodo del sito di SharePoint. Per aggiungere il nuovo nodo, la classe implementa l'interfaccia IExplorerNodeTypeExtension. Implementare questa interfaccia tutte le volte che si desidera estendere il comportamento di un nodo esistente in Esplora server, ad esempio aggiungendo un nuovo nodo figlio a un nodo.

Per aggiungere il nodo Raccolta web part a Esplora server

  1. Nel progetto WebPartNodeExtension fare doppio clic sul file di codice SiteNodeExtension.

  2. Incollare il codice riportato di seguito in questo file.

    Nota

    Dopo aver aggiunto questo codice, il progetto presenterà alcuni errori di compilazione che scompariranno quando si aggiunge codice nei passaggi successivi.

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

Definizione di un tipo di nodo che rappresenta una web part

Creare una classe che definisce un nuovo tipo di nodo che rappresenta una web part. Questo nuovo tipo di nodo viene utilizzato da Visual Studio per visualizzare i nodi figlio sotto il nodo Raccolta web part. Ognuno di questi nodi figlio rappresenta una singola web part sul sito di SharePoint.

Per definire il nuovo tipo di nodo, la classe implementa l'interfaccia IExplorerNodeTypeProvider. Implementare questa interfaccia tutte le volte che si desidera definire un nuovo tipo di nodo in Esplora server.

Per definire il tipo di nodo di web part

  1. Nel progetto WebPartNodeExtension fare doppio clic sul file di codice WebPartNodeTypeProvider.

  2. Incollare il codice riportato di seguito in questo file.

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

Verifica

In questa fase della procedura dettagliata, tutto il codice per il nodo Raccolta web part si trova nel progetto. Compilare la soluzione per assicurarsi che il progetto venga compilato correttamente.

Per compilare la soluzione

  • Scegliere Compila soluzione dal menu Compila.

Creazione di un pacchetto VSIX per distribuire l'estensione

Per distribuire l'estensione, utilizzare il progetto VSIX nella soluzione per creare un pacchetto VSIX. Innanzitutto, configurare il pacchetto VSIX modificando il file source.extension.vsixmanifest incluso nel progetto. Successivamente, creare il pacchetto VSIX compilando la soluzione.

Per configurare il pacchetto VSIX

  1. In Esplora soluzioni fare doppio clic sul file source.extension.vsixmanifest nel progetto WebPartNode.

    Visual Studio consente di aprire il file nell'editor del manifesto. Il file source.extension.vsixmanifest è la base del file extension.vsixmanifest richiesto da tutti i pacchetti VSIX. Per ulteriori informazioni su questo file, vedere VSIX Extension Schema Reference.

  2. Nella casella Nome prodotto digitare Web Part Gallery Node for Server Explorer.

  3. Nella casella Autore digitare Contoso.

  4. Nella casella Descrizione digitare Adds a custom Web Part Gallery node to the SharePoint Connections node in Server Explorer.

  5. Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.

  6. Nella finestra di dialogo Aggiungi contenuto selezionare Componente MEF nella casella di riepilogo Seleziona un tipo di contenuto.

    Nota

    Questo valore corrisponde all'elemento MefComponent del file extension.vsixmanifest. Questo elemento specifica il nome di un assembly dell'estensione nel pacchetto VSIX. Per ulteriori informazioni, vedere MEFComponent Element (VSX Schema).

  7. In Selezionare un'origine fare clic sul pulsante di opzione Progetto e selezionare WebPartNodeExtension nella casella di riepilogo accanto.

  8. Fare clic su OK.

  9. Scegliere Compila soluzione dal menu Compila. Assicurarsi che la soluzione venga compilata correttamente.

  10. Aprire la cartella di output di compilazione per il progetto WebPartNode. Assicurarsi che in questa cartella adesso sia contenuto il file WebPartNode.vsix.

    Per impostazione predefinita, la cartella dell'output di compilazione è .. \bin\Debug sotto la cartella che contiene il file di progetto.

Test dell'estensione

Ora è possibile testare il nuovo nodo Raccolta web part in Esplora server. Innanzitutto, avviare il debug del progetto di estensione in un'istanza sperimentale di Visual Studio. Successivamente, utilizzare il nuovo nodo Web part nell'istanza sperimentale di Visual Studio.

Per avviare il debug dell'estensione

  1. Riavviare Visual Studio con privilegi di amministratore e aprire la soluzione WebPartNode.

  2. Nel progetto WebPartNodeExtension aprire il file di codice SiteNodeExtension e aggiungere un punto di interruzione alle prime righe di codice nei metodi NodeChildrenRequested e CreateWebPartNodes.

  3. Premere F5 per avviare il debug.

    In Visual Studio i file di estensione vengono installati in %UserProfile%\Dati applicazione\Locale\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Web Part Gallery Node Extension for Server Explorer\1.0 e viene avviata un'istanza sperimentale di Visual Studio. L'elemento del progetto verrà testato in questa istanza di Visual Studio.

Per testare l'estensione

  1. Scegliere Esplora server dal menu Visualizza in questa istanza sperimentale di Visual Studio.

  2. Verificare che il sito di SharePoint che si desidera utilizzare per il test venga visualizzato sotto il nodo Connessioni di SharePoint in Esplora server. In caso contrario, eseguire la procedura seguente:

    1. Fare clic con il pulsante destro del mouse su Connessioni di SharePoint, quindi scegliere Aggiungi connessione.

    2. Nella finestra di dialogo Aggiungi connessione SharePoint immettere l'URL per il sito di SharePoint a cui si desidera connettersi. Per specificare il sito di SharePoint nel computer di sviluppo, digitare https://localhost.

    3. Fare clic su OK.

  3. Espandere il nodo relativo alla connessione al sito (il nodo in cui è visualizzato l'URL del sito), quindi un nodo del sito figlio (ad esempio Sito Team).

  4. Verificare che il codice nell'altra istanza di Visual Studio venga arrestato in corrispondenza del punto di interruzione impostato precedentemente nel metodo NodeChildrenRequested. Premere F5 per continuare il debug del progetto.

  5. Verificare che un nuovo nodo denominato Raccolta web part venga visualizzato sotto il nodo del sito principale nell'istanza sperimentale di Visual Studio. Espandere il nodo Raccolta web part.

  6. Verificare che il codice nell'altra istanza di Visual Studio venga interrotto in corrispondenza del punto di interruzione impostato precedentemente nel metodo CreateWebPartNodes. Premere F5 per continuare il debug del progetto.

  7. Nell'istanza sperimentale di Visual Studio verificare che tutte le web part sul sito connesso vengano visualizzate nel nodo Raccolta web part in Esplora server.

  8. Fare clic con il pulsante destro del mouse su una delle web part, quindi scegliere Proprietà.

  9. Verificare che i dettagli relativi alla web part siano visualizzati nella finestra Proprietà.

  10. In Esplora server fare di nuovo clic con il pulsante destro del mouse sulla stessa web part, quindi selezionare Visualizza messaggio.

    Verificare che venga visualizzata una finestra di messaggio. Scegliere OK nella finestra di messaggio.

Disinstallazione dell'estensione da Visual Studio

Dopo aver completato il test dell'estensione, disinstallare quest'ultima da Visual Studio.

Per disinstallare l'estensione

  1. Scegliere Gestione estensioni dal menu Strumenti nell'istanza sperimentale di Visual Studio.

    Viene aperta la finestra di dialogo Gestione estensioni.

  2. Nell'elenco di estensioni selezionare Web Part Gallery Node Extension for Server Explorer, quindi fare clic su Disinstalla.

  3. Nella finestra di dialogo visualizzata fare clic su per confermare che si desidera disinstallare l'estensione.

  4. Fare clic su Riavvia per completare la disinstallazione. Viene disinstallato anche l'elemento di progetto.

  5. Chiudere entrambe le istanze di Visual Studio, ovvero quella sperimentale e l'istanza in cui è aperta la soluzione WebPartNode.

Vedere anche

Attività

Procedura dettagliata: estensione di Esplora server per visualizzare web part

Creazione di una nuova bitmap o di un'altra immagine

Riferimenti

Editor immagini

Concetti

Chiamate ai modelli a oggetti di SharePoint

Altre risorse

Estensione del nodo Connessioni di SharePoint in Esplora server