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

In questa procedura dettagliata viene illustrato come chiamare il modello a oggetti del client di SharePoint da un'estensione del nodo connessioni di SharePoint in Esplora server. Per ulteriori informazioni sull'utilizzo del modello a oggetti del client di SharePoint, vedere la pagina relativa alla chiamata nei modelli a oggetti di SharePoint.

In questa procedura dettagliata vengono descritte le attività seguenti:

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

    • L'estensione aggiunge un nodo della raccolta di Web part in ogni nodo del sito di SharePoint in Esplora server. Questo nuovo nodo contiene i nodi figlio che rappresentano ogni Web part nella raccolta web part sul sito.

    • L'estensione definisce un nuovo tipo di nodo che rappresenta un'istanza della web part. Questo nuovo tipo di nodo è la base per i nodi figlio nel nuovo nodo della raccolta di Web part . Il nuovo tipo di nodo Web part Visualizza le informazioni nella finestra Proprietà relativa alla web part rappresentata dal nodo.

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

  • Debug e test dell'estensione.

Nota

L'estensione creata in questa procedura dettagliata è simile all'estensione creata in procedura dettagliata: estendi Esplora server per visualizzare le web part. In questa procedura dettagliata viene utilizzato il modello a oggetti del server SharePoint, ma in questa procedura dettagliata vengono eseguite le stesse attività utilizzando il modello a oggetti del client.

Prerequisiti

Per completare questa procedura dettagliata, è necessario che nel computer di sviluppo siano presenti i componenti seguenti:

  • Edizioni supportate di Windows, SharePoint e Visual Studio.

  • Visual Studio SDK. Questa procedura dettagliata usa il modello di progetto VSIX nell'SDK per creare un pacchetto VSIX per distribuire l'estensione. Per altre informazioni, vedere estendere gli strumenti di SharePoint in Visual Studio.

Per completare la procedura dettagliata, è necessario conoscere i concetti seguenti:

Creare i progetti

Per completare questa procedura dettagliata, è necessario creare due progetti:

  • Progetto VSIX per creare il pacchetto VSIX per distribuire l'estensione Esplora server .

  • Progetto di libreria di classi che implementa l'estensione Esplora server .

    Avviare la procedura dettagliata creando i progetti.

Per creare il progetto VSIX

  1. Avviare Visual Studio.

  2. Sulla barra dei menu scegliere file > nuovo > progetto.

  3. Nella finestra di dialogo nuovo progetto espandere i nodi Visual C# o Visual Basic , quindi scegliere Extensibility.

    Nota

    Il nodo estensibilità è disponibile solo se si installa Visual Studio SDK. Per ulteriori informazioni, vedere la sezione Prerequisiti più indietro in questo argomento.

  4. Nella parte superiore della finestra di dialogo scegliere .NET Framework 4,5 nell'elenco delle versioni del .NET Framework.

    Le estensioni degli strumenti di SharePoint richiedono funzionalità in questa versione del .NET Framework.

  5. Scegliere il modello di progetto VSIX .

  6. Nella casella nome digitare WebPartNode, quindi scegliere il pulsante OK .

    Visual Studio aggiunge il progetto WebPartNode a Esplora soluzioni.

Per creare il progetto di estensione

  1. In Esplora soluzioni aprire il menu di scelta rapida per il nodo soluzione, scegliere Aggiungi, quindi scegliere nuovo progetto.

  2. Nella finestra di dialogo nuovo progetto espandere i nodi Visual C# o Visual Basic , quindi scegliere Windows.

  3. Nella parte superiore della finestra di dialogo scegliere .NET Framework 4,5 nell'elenco delle versioni del .NET Framework.

  4. Nell'elenco dei modelli di progetto scegliere libreria di classi.

  5. Nella casella nome immettere WebPartNodeExtension, quindi scegliere il pulsante OK .

    Visual Studio aggiunge il progetto WebPartNodeExtension alla soluzione e apre il file di codice Class1 predefinito.

  6. Eliminare il file di codice Class1 dal progetto.

Configurare il progetto di estensione

Prima di scrivere il codice per creare l'estensione, è necessario aggiungere i file di codice e i riferimenti ad assembly al progetto ed è necessario aggiornare lo spazio dei nomi predefinito.

Per configurare il progetto

  1. Nel progetto WebPartNodeExtension aggiungere due file di codice denominati SiteNodeExtension e WebPartNodeTypeProvider.

  2. Aprire il menu di scelta rapida per il progetto WebPartNodeExtension, quindi scegliere Aggiungi riferimento.

  3. Nella finestra di dialogo Gestione riferimenti-WebPartNodeExtension , scegliere il nodo Framework , quindi selezionare le caselle di controllo per gli assembly System. ComponentModel. Composition e System. Windows. Forms.

  4. Scegliere il nodo estensioni , selezionare la casella di controllo per ognuno degli assembly seguenti, quindi scegliere il pulsante OK :

    • Microsoft. SharePoint. client

    • Microsoft. SharePoint. client. Runtime

    • Microsoft. VisualStudio. SharePoint

  5. Aprire il menu di scelta rapida per il progetto WebPartNodeExtension , quindi scegliere Proprietà.

    Si apre la finestra Creazione progetti.

  6. Scegliere la scheda Applicazione.

  7. Nella casella spazio dei nomi predefinito (C#) o nella casella spazio dei nomi radice (Visual Basic) immettere ServerExplorer. SharePointConnections. WebPartNode.

Creare icone per i nuovi nodi

Creare due icone per l'estensione Esplora server : un'icona per il nuovo nodo raccolta web part e un'altra icona per ogni nodo Web part figlio sotto il nodo raccolta web part . Più avanti in questa procedura dettagliata verrà scritto il codice che associa queste icone ai nodi.

Per creare icone per i nodi

  1. In Progettazione progetti per il progetto WebPartNodeExtension scegliere la scheda risorse .

  2. Scegliere il collegamento il progetto non contiene un file di risorse predefinito. Fare clic qui per crearne uno.

    Visual Studio crea un file di risorse e lo apre nella finestra di progettazione.

  3. Nella parte superiore della finestra di progettazione scegliere la freccia del comando di menu Aggiungi risorsa , quindi scegliere Aggiungi nuova icona.

  4. Immettere WebPartsNode per il nuovo nome dell'icona, quindi scegliere il pulsante Aggiungi .

    La nuova icona verrà aperta nell' editor di immagini.

  5. Modificare la versione di 16x16 dell'icona in modo che disponga di una progettazione che è possibile riconoscere facilmente.

  6. Aprire il menu di scelta rapida per la versione 32x32 dell'icona, quindi scegliere Elimina tipo di immagine.

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

  8. In Esplora soluzioni, nella cartella risorse del progetto WebPartNodeExtension , scegliere WebPartsNode. ico.

  9. Nella finestra Proprietà aprire l'elenco azione di compilazione , quindi scegliere risorsa incorporata.

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

Creare una classe che aggiunga il nuovo nodo della raccolta di Web part a ogni nodo del sito di SharePoint. Per aggiungere il nuovo nodo, la classe implementa l' IExplorerNodeTypeExtension interfaccia. Implementare questa interfaccia quando si desidera estendere il comportamento di un nodo esistente in Esplora server, ad esempio l'aggiunta di un nuovo nodo figlio a un nodo.

  1. Incollare il codice seguente nel file di codice SiteNodeExtension per il progetto WebPartNodeExtension .

    Nota

    Una volta aggiunto questo codice, il progetto avrà alcuni errori di compilazione. Questi errori si verificano quando si aggiunge codice nei passaggi successivi.

    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
    

Definire un tipo di nodo che rappresenta una Web part

Creare una classe che definisce un nuovo tipo di nodo che rappresenta una Web part. Visual Studio usa questo nuovo tipo di nodo per visualizzare i nodi figlio nel nodo raccolta web part . Ognuno di questi nodi figlio rappresenta una singola Web part nel sito di SharePoint.

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

Per definire il tipo di nodo Web part

  1. Incollare il codice seguente nel file di codice WebPartNodeTypeProvider per il progetto WebPartNodeExtension .

    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
    

Checkpoint

A questo punto della procedura dettagliata, tutto il codice per il nodo della raccolta web part è ora presente nel progetto. Compilare il progetto WebPartNodeExtension per assicurarsi che venga compilato senza errori.

Per compilare il progetto

  1. In Esplora soluzioni aprire il menu di scelta rapida per il progetto WebPartNodeExtension , quindi scegliere Compila.

Creare un pacchetto VSIX per distribuire l'estensione

Per distribuire l'estensione, usare il progetto VSIX nella soluzione per creare un pacchetto VSIX. Per prima cosa, configurare il pacchetto VSIX modificando il file source. Extension. vsixmanifest incluso nel progetto. Creare quindi il pacchetto VSIX compilando la soluzione.

Per configurare il pacchetto VSIX

  1. In Esplora soluzioni, nel progetto WebPartNode , aprire il file source. Extension. vsixmanifest nell'editor manifesto.

    Il file source. Extension. vsixmanifest è la base per il file Extension. vsixmanifest che tutti i pacchetti VSIX richiedono. Per altre informazioni su questo file, vedere riferimento allo schema di estensione VSIX 1,0.

  2. Nella casella nome prodotto , immettere nodo Raccolta Web part per Esplora server.

  3. Nella casella autore immettere Contoso.

  4. Nella casella Descrizione immettere aggiungere un nodo della raccolta web part personalizzato al nodo connessioni di SharePoint in Esplora server.

  5. Nella scheda Asset dell'Editor scegliere il pulsante nuovo .

  6. Nella finestra di dialogo Aggiungi nuovo asset selezionare Microsoft. VisualStudio. MefComponent nell'elenco tipo .

    Nota

    Questo valore corrisponde all' MefComponent elemento nel file Extension. vsixmanifest. Questo elemento specifica il nome di un assembly di estensione nel pacchetto VSIX. Per altre informazioni, vedere Elemento MEFComponent (schema VSX).

  7. Nell'elenco origine scegliere un progetto nella soluzione corrente.

  8. Nell'elenco progetto scegliere WebPartNodeExtension, quindi scegliere il pulsante OK .

  9. Sulla barra dei menu scegliere Compila compila > soluzione, quindi assicurarsi che la soluzione venga compilata senza errori.

  10. Assicurarsi che la cartella di output di compilazione per il progetto WebPartNode contenga ora il file WebPartNode. vsix.

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

Testare l'estensione

A questo punto si è pronti per testare il nuovo nodo della raccolta web part in Esplora server. Per prima cosa, iniziare a eseguire il debug del progetto di estensione in un'istanza sperimentale di Visual Studio. Usare quindi il nuovo nodo Web part nell'istanza sperimentale di Visual Studio.

Per avviare il debug dell'estensione

  1. Riavviare Visual Studio con credenziali amministrative, quindi aprire la soluzione WebPartNode .

  2. Nel progetto WebPartNodeExtension aprire il file di codice SiteNodeExtension e quindi aggiungere un punto di interruzione alla prima riga di codice nei NodeChildrenRequested CreateWebPartNodes metodi e.

  3. Premere il tasto F5 per avviare il debug.

    Visual Studio installa l'estensione nell'estensione del nodo della raccolta di parti%UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web per il Server Explorer\1.0 e avvia un'istanza sperimentale di Visual Studio. Si eseguirà il test dell'elemento del progetto in questa istanza di Visual Studio.

Per testare l'estensione

  1. Nella barra dei menu dell'istanza sperimentale di Visual Studio scegliere Visualizza > Esplora server.

  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. Se non è elencato, attenersi alla procedura seguente:

    1. Aprire il menu di scelta rapida per le connessioni di SharePoint, quindi scegliere Aggiungi connessione.

    2. Nella finestra di dialogo Aggiungi connessione SharePoint immettere l'URL del sito di SharePoint a cui si desidera connettersi, quindi scegliere il pulsante OK .

      Per specificare il sito di SharePoint nel computer di sviluppo, digitare http://localhost .

  3. Espandere il nodo connessione sito (che consente di visualizzare l'URL del sito), quindi espandere un nodo del sito figlio, ad esempio il sito del team.

  4. Verificare che il codice nell'altra istanza di Visual Studio si arresti in base al punto di interruzione impostato in precedenza nel NodeChildrenRequested metodo, quindi premere il tasto F5 per continuare a eseguire il debug del progetto.

  5. Nell'istanza sperimentale di Visual Studio espandere il nodo raccolta web part , che viene visualizzato sotto il nodo sito di livello superiore.

  6. Verificare che il codice nell'altra istanza di Visual Studio si arresti in base al punto di interruzione impostato in precedenza nel CreateWebPartNodes metodo, quindi premere il tasto F5 per continuare a eseguire il debug del progetto.

  7. Nell'istanza sperimentale di Visual Studio verificare che tutti i Web part nel sito connesso siano visualizzati nel nodo raccolta Web Part Esplora server.

  8. Aprire il menu di scelta rapida per una Web part, quindi scegliere Proprietà.

  9. Nella finestra Proprietà verificare che vengano visualizzati i dettagli relativi alla web part.

  10. In Esplora server aprire il menu di scelta rapida per la stessa Web part, quindi scegliere Visualizza messaggio.

    Nella finestra di messaggio visualizzata scegliere il pulsante OK .

Disinstallare l'estensione da Visual Studio

Al termine del test dell'estensione, disinstallarla da Visual Studio.

Per disinstallare l'estensione

  1. Nella barra dei menu dell'istanza sperimentale di Visual Studio scegliere strumenti > estensioni e aggiornamenti.

    Verrà visualizzata la finestra di dialogo Estensioni e aggiornamenti.

  2. Nell'elenco di estensioni scegliere nodo raccolta web part per Esplora server, quindi scegliere il pulsante Disinstalla .

  3. Nella finestra di dialogo visualizzata scegliere il pulsante .

  4. Scegliere il pulsante Riavvia ora per completare la disinstallazione.

    Viene inoltre disinstallato l'elemento del progetto.

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

Vedi anche