Przewodnik: wywoływanie modelu obiektów SharePoint klienta w rozszerzeniu Eksplorator serwera klienta

W tym przewodniku pokazano, jak wywołać SharePoint obiektu klienta z rozszerzenia dla węzła SharePoint Connections w Eksplorator serwera. Aby uzyskać więcej informacji na temat używania modelu obiektów SharePoint klienta, zobacz Call into the SharePoint object models (Wywołanie modelu obiektów klienckich).

W tym przewodniku przedstawiono następujące zadania:

  • Tworzenie Visual Studio rozszerzenia, które rozszerza węzeł SharePoint połączeń Eksplorator serwera w następujący sposób:

    • Rozszerzenie dodaje węzeł Galeria składników Web Part w każdym węźle SharePoint w programie Eksplorator serwera. Ten nowy węzeł zawiera węzły podrzędne, które reprezentują poszczególne składniki Web Part w galerii składników Web Part w witrynie.

    • Rozszerzenie definiuje nowy typ węzła, który reprezentuje wystąpienie składników Web Part. Ten nowy typ węzła stanowi podstawę dla węzłów podrzędnych w nowym węźle Galeria składników Web Part. Nowy typ węzła składników Web Part wyświetla w oknie Właściwości informacje o części Web Part, która reprezentuje węzeł.

  • Tworzenie pakietu Visual Studio (VSIX) w celu wdrożenia rozszerzenia.

  • Debugowanie i testowanie rozszerzenia.

Uwaga

Rozszerzenie, które tworzysz w tym przewodniku, przypomina rozszerzenie, które tworzysz w przewodniku: rozszerzanie interfejsu Eksplorator serwera do wyświetlania składników Web Part. W tym przewodniku jest używany SharePoint obiektu serwera, ale ten przewodnik realizuje te same zadania przy użyciu modelu obiektów klienta.

Wymagania wstępne

Do ukończenia tego przewodnika potrzebne są następujące składniki na komputerze dewelopera:

  • Obsługiwane wersje Windows, SharePoint i Visual Studio.

  • Zestaw VISUAL STUDIO SDK. W tym przewodniku użyto szablonu Project VSIX w zestawie SDK w celu utworzenia pakietu VSIX w celu wdrożenia rozszerzenia. Aby uzyskać więcej informacji, zobacz Extend the SharePoint tools in Visual Studio.

Znajomość następujących pojęć jest przydatna, ale nie jest wymagana do ukończenia przewodnika:

Tworzenie projektów

Aby ukończyć ten przewodnik, należy utworzyć dwa projekty:

  • Projekt VSIX do tworzenia pakietu VSIX w celu wdrożenia Eksplorator serwera rozszerzenia.

  • Projekt biblioteki klas, który implementuje Eksplorator serwera klasy.

    Rozpocznij przewodnik, tworząc projekty.

Aby utworzyć projekt VSIX

  1. Uruchom Visual Studio .

  2. Na pasku menu wybierz pozycję Nowy > > plik Project.

  3. W oknie Project dialogowym New Project rozwiń węzeł Visual C# lub Visual Basic węzłach, a następnie wybierz pozycję Rozszerzalność.

    Uwaga

    Węzeł Rozszerzalność jest dostępny tylko w przypadku zainstalowania Visual Studio SDK. Aby uzyskać więcej informacji, zobacz sekcję wymagań wstępnych wcześniej w tym temacie.

  4. W górnej części okna dialogowego wybierz pozycję .NET Framework 4.5 na liście wersji .NET Framework.

    SharePoint rozszerzenia narzędzi wymagają funkcji w tej wersji .NET Framework.

  5. Wybierz szablon Project VSIX.

  6. W polu Nazwa wpisz WebPartNode, a następnie wybierz przycisk OK.

    Visual Studio Dodaje projekt WebPartNode do Eksplorator rozwiązań.

Aby utworzyć projekt rozszerzenia

  1. W Eksplorator rozwiązań otwórz menu skrótów dla węzła rozwiązania, wybierz pozycję Dodaj, a następnie wybierz pozycję Nowy Project.

  2. W oknie Project dialogowym Nowy węzeł rozwiń węzeł Visual C# lub Visual Basic, a następnie wybierz pozycję Windows.

  3. W górnej części okna dialogowego wybierz pozycję .NET Framework 4.5 na liście wersji .NET Framework.

  4. Na liście szablonów projektów wybierz pozycję Biblioteka klas.

  5. W polu Nazwa wprowadź wartość WebPartNodeExtension, a następnie wybierz przycisk OK.

    Visual Studio Dodaje projekt WebPartNodeExtension do rozwiązania i otwiera domyślny plik kodu klasy 1.

  6. Usuń plik kodu Klasy1 z projektu.

Konfigurowanie projektu rozszerzenia

Przed napisaniem kodu w celu utworzenia rozszerzenia należy dodać pliki kodu i odwołania do zestawu do projektu oraz zaktualizować domyślną przestrzeń nazw.

Aby skonfigurować projekt

  1. W projekcie WebPartNodeExtension dodaj dwa pliki kodu o nazwach SiteNodeExtension i WebPartNodeTypeProvider.

  2. Otwórz menu skrótów dla projektu WebPartNodeExtension, a następnie wybierz pozycję Dodaj odwołanie.

  3. W oknie dialogowym Menedżer odwoływania — WebPartNodeExtension wybierz węzeł Framework, a następnie zaznacz pola wyboru dla elementu System.ComponentModel.Composition i System. Windows. Zestawy formularzy.

  4. Wybierz węzeł Rozszerzenia, zaznacz pole wyboru dla każdego z następujących zestawów, a następnie wybierz przycisk OK:

    • Microsoft. SharePoint. Klienta

    • Microsoft. SharePoint. Client.Runtime

    • Microsoft.VisualStudio. SharePoint

  5. Otwórz menu skrótów dla projektu WebPartNodeExtension, a następnie wybierz pozycję Właściwości.

    Zostanie otwarty Project Projektant aplikacji.

  6. Wybierz kartę Aplikacja.

  7. W polu Domyślna przestrzeń nazw (C#) lub Główna przestrzeń nazw (Visual Basic) wprowadź wartość ServerExplorer.SharePointConnections.WebPartNode.

Tworzenie ikon dla nowych węzłów

Utwórz dwie ikony dla rozszerzenia Eksplorator serwera: ikonę nowego węzła Galeria składników Web Part i kolejną ikonę dla każdego podrzędnego węzła składników Web Part w węźle Galeria składników Web Part. W dalszej części tego przewodnika napiszesz kod, który kojarzy te ikony z węzłami.

Aby utworzyć ikony dla węzłów

  1. W projektancie Project projektu WebPartNodeExtension wybierz kartę Zasoby.

  2. Wybierz link Ten projekt nie zawiera domyślnego pliku zasobów. Kliknij tutaj, aby go utworzyć.

    Visual Studio tworzy plik zasobów i otwiera go w projektancie.

  3. W górnej części projektanta wybierz strzałkę w poleceniu menu Dodaj zasób, a następnie wybierz pozycję Dodaj nową ikonę.

  4. Wprowadź nazwę nowej ikony WebPartsNode, a następnie wybierz przycisk Dodaj.

    Nowa ikona zostanie otwarta w Edytorze obrazów.

  5. Edytuj wersję ikony 16x16, aby mieć projekt, który można łatwo rozpoznać.

  6. Otwórz menu skrótów dla wersji 32x32 ikony, a następnie wybierz polecenie Usuń typ obrazu.

  7. Powtórz kroki od 3 do 7, aby dodać drugą ikonę do zasobów projektu, i nadaj tej ikonie nazwę WebPart.

  8. W Eksplorator rozwiązań w folderze Resources projektu WebPartNodeExtension wybierz pozycję WebPartsNode.ico.

  9. W oknie Właściwości otwórz listę Akcja kompilacji, a następnie wybierz pozycję Zasób osadzony.

  10. Powtórz ostatnie dwa kroki dla aplikacji WebPart.ico.

Utwórz klasę, która dodaje nowy węzeł Galeria składników Web Part do każdego SharePoint węzła lokacji. Aby dodać nowy węzeł, klasa implementuje IExplorerNodeTypeExtension interfejs . Zaim implementuj ten interfejs za każdym razem, gdy chcesz rozszerzyć zachowanie istniejącego węzła w programie Eksplorator serwera, na przykład dodając nowy węzeł podrzędny do węzła.

  1. Wklej następujący kod do pliku kodu SiteNodeExtension dla projektu WebPartNodeExtension.

    Uwaga

    Po dodaniu tego kodu w projekcie będą wystąpiły błędy kompilacji. Te błędy odejdą, gdy dodasz kod w kolejnych krokach.

    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
    

Definiowanie typu węzła reprezentującego element Web Part

Utwórz klasę definiującą nowy typ węzła, który reprezentuje część Web Part. Visual Studio używa tego nowego typu węzła do wyświetlania węzłów podrzędnych w węźle Galeria składników Web Part. Każdy z tych węzłów podrzędnych reprezentuje jeden element Web Part w SharePoint lokacji.

Aby zdefiniować nowy typ węzła, klasa implementuje IExplorerNodeTypeProvider interfejs. Zaim implementuj ten interfejs za każdym razem, gdy chcesz zdefiniować nowy typ węzła w Eksplorator serwera.

Aby zdefiniować typ węzła składników Web Part

  1. Wklej następujący kod do pliku kodu WebPartNodeTypeProvider dla projektu 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
    

Punkt kontrolny

Na tym etapie przewodnika cały kod węzła Galeria składników Web Part znajduje się teraz w projekcie. Skompiluj projekt WebPartNodeExtension, aby upewnić się, że jest on kompilowany bez błędów.

Aby skompilować projekt

  1. W Eksplorator rozwiązań otwórz menu skrótów dla projektu WebPartNodeExtension, a następnie wybierz pozycję Build (Kompilacja).

Tworzenie pakietu VSIX w celu wdrożenia rozszerzenia

Aby wdrożyć rozszerzenie, użyj projektu VSIX w rozwiązaniu, aby utworzyć pakiet VSIX. Najpierw skonfiguruj pakiet VSIX, modyfikując plik source.extension.vsixmanifest uwzględniony w projekcie. Następnie utwórz pakiet VSIX, tworząc rozwiązanie.

Aby skonfigurować pakiet VSIX

  1. W Eksplorator rozwiązań pliku w projekcie WebPartNode otwórz plik open source.extension.vsixmanifest w edytorze manifestu.

    Plik source.extension.vsixmanifest jest podstawą pliku extension.vsixmanifest, który wymaga wszystkich pakietów VSIX. Aby uzyskać więcej informacji na temat tego pliku, zobacz VsIX Extension Schema 1.0 Reference (Informacje dotyczące schematu rozszerzenia VSIX 1.0).

  2. W polu Product Name (Nazwa produktu) wprowadź wartość Web Part Gallery Node (Węzeł galerii składników Web Part), aby Eksplorator serwera .

  3. W polu Autor wprowadź Contoso.

  4. W polu Opis wprowadź wartość Dodaje niestandardowy węzeł Galeria składników Web Part do węzła SharePoint połączeń w programie Eksplorator serwera.

  5. Na karcie Zasoby edytora wybierz przycisk Nowy.

  6. W oknie dialogowym Dodawanie nowego zasobu na liście Typ wybierz pozycję Microsoft.VisualStudio.MefComponent.

    Uwaga

    Ta wartość odpowiada MefComponent elementowi w pliku extension.vsixmanifest. Ten element określa nazwę zestawu rozszerzenia w pakiecie VSIX. Aby uzyskać więcej informacji, zobacz MEFComponent, element (schemat VSX).

  7. Na liście Źródło wybierz pozycję Projekt w bieżącym rozwiązaniu.

  8. Na liście Project WebPartNodeExtension, a następnie wybierz przycisk OK.

  9. Na pasku menu wybierz pozycję Kompiluj rozwiązanie kompilacji, a następnie upewnij się, że > rozwiązanie jest kompilowane bez błędów.

  10. Upewnij się, że folder wyjściowy kompilacji dla projektu WebPartNode zawiera teraz plik WebPartNode.vsix.

    Domyślnie folderem wyjściowym kompilacji jest folder .. \bin\Debug folder w folderze zawierającym plik projektu.

Testowanie rozszerzenia

Teraz możesz przetestować nowy węzeł Galeria składników Web Part w programie Eksplorator serwera. Najpierw rozpocznij debugowanie projektu rozszerzenia w eksperymentalnym wystąpieniu Visual Studio. Następnie użyj nowego składniki Web Part w eksperymentalnym wystąpieniu Visual Studio.

Aby rozpocząć debugowanie rozszerzenia

  1. Uruchom Visual Studio przy użyciu poświadczeń administracyjnych, a następnie otwórz rozwiązanie WebPartNode.

  2. W projekcie WebPartNodeExtension otwórz plik kodu SiteNodeExtension, a następnie dodaj punkt przerwania do pierwszych wierszy kodu w NodeChildrenRequested metodach CreateWebPartNodes i .

  3. Wybierz klawisz F5, aby rozpocząć debugowanie.

    Visual Studio instaluje rozszerzenie do folderu %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web Part Gallery Extension for Eksplorator serwera\1.0 i uruchamia eksperymentalne wystąpienie Visual Studio. Przetestujemy element projektu w tym wystąpieniu Visual Studio.

Aby przetestować rozszerzenie

  1. W eksperymentalnym wystąpieniu Visual Studio na pasku menu wybierz pozycję Wyświetl > Eksplorator serwera.

  2. Sprawdź, czy lokacja SharePoint, która ma być testowa, jest wyświetlana w węźle Połączenia SharePoint w programie Eksplorator serwera. Jeśli nie ma go na liście, wykonaj następujące kroki:

    1. Otwórz menu skrótów dla pozycji SharePoint, a następnie wybierz pozycję Dodaj połączenie.

    2. W oknie dialogowym Dodawanie SharePoint sieci Web wprowadź adres URL witryny SharePoint, z którą chcesz nawiązać połączenie, a następnie wybierz przycisk OK.

      Aby określić lokację SharePoint na komputerze dewelopera, wpisz http://localhost .

  3. Rozwiń węzeł połączenia lokacji (w którym jest wyświetlany adres URL witryny), a następnie rozwiń węzeł lokacji podrzędnej (na przykład Lokacja zespołu).

  4. Sprawdź, czy kod w innym wystąpieniu Visual Studio zatrzymuje się w punkcie przerwania ustawionym wcześniej w metodzie, a następnie wybierz klawisz NodeChildrenRequested F5, aby kontynuować debugowanie projektu.

  5. W eksperymentalnym wystąpieniu Visual Studio rozwiń węzeł Galeria składników Web Part, który jest wyświetlany w węźle lokacji najwyższego poziomu.

  6. Sprawdź, czy kod w innym wystąpieniu Visual Studio zatrzymuje się w punkcie przerwania ustawionym wcześniej w metodzie, a następnie wybierz klawisz CreateWebPartNodes F5, aby kontynuować debugowanie projektu.

  7. W eksperymentalnym wystąpieniu programu Visual Studio sprawdź, czy wszystkie składniki Web Part połączonej lokacji są widoczne w węźle Galeria składników Web Part w programie Eksplorator serwera.

  8. Otwórz menu skrótów dla elementu Web Part, a następnie wybierz pozycję Właściwości.

  9. W oknie Właściwości sprawdź, czy są wyświetlane szczegóły dotyczące składników Web Part.

  10. W Eksplorator serwera otwórz menu skrótów dla tego samego elementu Web Part, a następnie wybierz pozycję Wyświetl komunikat.

    W wyświetlonym oknie komunikatu wybierz przycisk OK.

Odinstalowywanie rozszerzenia z Visual Studio

Po zakończeniu testowania rozszerzenia odinstaluj je z Visual Studio.

Aby odinstalować rozszerzenie

  1. W eksperymentalnym wystąpieniu Visual Studio na pasku menu wybierz pozycję Narzędzia > Rozszerzenia i aktualizacje.

    Rozszerzenia i aktualizacje zostanie otwarte okno dialogowe.

  2. Na liście rozszerzeń wybierz pozycję Węzeł galerii składników Web Part dla Eksplorator serwera , a następnie wybierz przycisk Odinstaluj.

  3. W wyświetlonym oknie dialogowym wybierz przycisk Tak.

  4. Wybierz przycisk Uruchom ponownie teraz, aby ukończyć dezinstalację.

    Element projektu również zostanie odinstalowany.

  5. Zamknij oba wystąpienia Visual Studio (wystąpienie eksperymentalne i wystąpienie klasy Visual Studio, w którym jest otwarte rozwiązanie WebPartNode).

Zobacz też