Názorný postup: Volání do modelu objektu klienta SharePoint v serverové rozšíření aplikace Explorer
Tento návod ukazuje způsob volání objektového modelu klienta SharePoint z rozšíření do uzlu Připojení služby SharePoint v Průzkumníku serveru.Další informace o použití objektového modelu klienta SharePoint naleznete v Volání do objektových modelů služby SharePoint.
Tento návod demonstruje následující úkoly:
Vytváření rozšíření Visual Studio, které rozšiřuje uzel Připojení služby SharePointPrůzkumníku serveru následujícími způsoby:
Přidá rozšíření Galerie webových částí za každý uzel serveru SharePoint v uzlu Server Explorer.Tento nový uzel obsahuje podřízené uzly, které představují jednotlivé webové část v Galerii webových částí na webu.
Rozšíření definuje nový typ uzlu, který představuje instanci webové části.Tento nový typ uzlu je základem pro podřízené uzly pod novým uzlem Galerie webových částí.Nový typ uzlu webové části zobrazí informace Vlastnosti okno o webové části, která představuje uzel.
Vytváření balíčku rozšíření aplikace Visual Studio (VSIX) pro nasazení rozšíření.
Ladění a testování rozšíření.
[!POZNÁMKA]
Rozšíření, které vytvoříte v tomto návodu je podobné rozšíření, vytvořte v Názorný postup: Rozšíření serveru Explorer k zobrazení webové části.Tento návod používá model objektu serveru SharePoint, ale tento návod provede stejné úlohy pomocí objektového modelu klienta.
Požadavky
Ve vývojovém počítači potřebujete následující součásti pro dokončení tohoto návodu:
Podporované edice systému Windows, SharePoint a Visual Studio.Další informace naleznete v tématu Požadavky na vývoj řešení služby SharePoint.
Visual Studio SDK.Tento návod používá šablonu Projektu VSIX v sadě SDK pro vytvoření balíčku VSIX k nasazení rozšíření.Další informace naleznete v tématu Rozšíření nástrojů SharePoint v aplikaci Visual Studio.
Znalost následujících konceptů je užitečná, ale není požadována k dokončení návodu:
Použití objektového modelu klienta SharePoint.Další informace naleznete v Spravovaný objektový Model klienta.
Webové části služby SharePoint.Další informace naleznete v Přehled webových částí.
Vytváření projektů
Chcete-li dokončit tento návod, je nutné vytvořit dva projekty:
Projekt VSIX k vytvoření balíčku VSIX k nasazení Server Explorer rozšíření.
Projekt knihovny tříd, který implementuje Server Explorer rozšíření.
Začněte postup vytvořením projektů.
Pro vytvoření projektu VSIX
Spusťte nástroj Visual Studio.
Na panelu nabídek zvolte soubor, Nový, projektu.
V Nový projekt dialogovém okně rozbalte Visual C# nebo Visual Basic uzly a pak zvolte Rozšiřitelnost.
[!POZNÁMKA]
Rozšíření uzel je k dispozici pouze v případě, že nainstalujete Visual Studio SDK.Další informace naleznete v části požadavky dříve v tomto tématu.
V horní části dialogového okna zvolte .NET Framework 4.5 v seznamu verze rozhraní.NET Framework.
Rozšíření nástrojů SharePoint vyžaduje funkce této verze rozhraní.NET Framework.
Zvolte Projektu VSIX šablony.
V název zadejte WebPartNodea pak zvolte OK tlačítko.
Visual Studio přidá WebPartNode projekt do Průzkumníku řešení.
Chcete-li vytvořit projekt rozšíření
V Průzkumníku, otevřete místní nabídku pro uzel řešení, zvolte Přidata pak zvolte Nový projekt.
[!POZNÁMKA]
V projektech v jazyce Visual Basic se uzel řešení zobrazí v Průzkumníku řešení pouze pokud je označeno zaškrtávací políčko Vždy zobrazit řešeníGeneral, Projects and Solutions, Options Dialog Box.
V Nový projekt dialogovém okně rozbalte Visual C# nebo Visual Basic uzly a pak zvolte Windows.
V horní části dialogového okna zvolte .NET Framework 4.5 v seznamu verze rozhraní.NET Framework.
V seznamu šablon projektu zvolte Knihovny tříd.
V název zadejte WebPartNodeExtensiona pak zvolte OK tlačítko.
Visual Studio přidá projekt WebPartNodeExtension do řešení a otevře soubor výchozího kódu Class1.
Odstraňte soubor kódu Class1 z projektu.
Konfigurace projektu rozšíření
Před napsáním kódu pro vytvoření rozšíření, musíte přidat soubory kódu a odkazy na sestavení do projektu a je nutné aktualizovat výchozí obor názvů.
Chcete-li konfigurovat projekt
V WebPartNodeExtension projektu, přidejte dva soubory kódu, které jsou pojmenovány SiteNodeExtension a WebPartNodeTypeProvider.
V místní nabídce pro projekt WebPartNodeExtension otevřete a pak zvolte Přidat odkaz.
V Reference Manager-WebPartNodeExtension dialogové okno pole, zvolte Framework uzel a potom zaškrtněte políčka pro System.ComponentModel.Composition a System.Windows.Forms sestavení.
Zvolte rozšíření uzel, zaškrtněte políčko pro každý následující sestavení a pak zvolte OK tlačítka:
Microsoft.SharePoint.Client
Microsoft.SharePoint.Client.Runtime
Microsoft.VisualStudio.SharePoint
Otevření místní nabídky WebPartNodeExtension projektu a pak zvolte Vlastnosti.
Otevře se Projekt designer.
Zvolte aplikace kartu.
V výchozí obor názvů pole (C#) nebo kořenový obor názvů pole (Visual Basic), zadejte ServerExplorer.SharePointConnections.WebPartNode.
Vytvoření ikony pro nové uzly
Vytvořte dvě ikony pro Server Explorer rozšíření: Ikona pro nové Galerie webových částí uzlu a jinou ikonu pro každý podřízený uzel webové části v rámci Galerie webových částí uzlu.Dále v tomto návodu napíšete kód, který přidruží tyto ikony uzly.
Chcete-li vytvořit ikony pro uzly
V Návrháře projektu pro projekt WebPartNodeExtension zvolte zdroje kartu.
Zvolte odkaz Tento projekt neobsahuje výchozí soubor prostředků. Chcete-li vytvořit, klikněte sem.
Visual Studio vytvoří soubor prostředků a otevře v návrháři.
Zvolte na šipku v horní části návrháře Přidat prostředek nabídce příkaz a pak zvolte Přidat novou ikonu.
Zadejte WebPartsNode pro novou ikonu název a pak zvolte Přidat tlačítko.
Nová ikona se otevře v Editoru obrázků.
Upravte verzi 16 x 16 ikony tak, aby návrh, který lze snadno rozpoznat.
Otevřete místní nabídku pro ikonu verze 32 x 32 a pak zvolte Odstranit typ obrázku.
Opakujte kroky 3 až 7 přidejte druhou ikonu zdroje projektu a pojmenujte tuto ikonu webové části.
V Průzkumníkuv zdroje složku WebPartNodeExtension projektu, zvolte WebPartsNode.ico.
V Vlastnosti okno otevřené Akce sestavení seznamu a pak zvolte Integrovaný prostředek.
Poslední dva kroky zopakujte pro WebPart.ico.
Přidání uzlu Galerie webových částí do Průzkumníku serveru
Vytvořte třídu, která přidá nový uzel Galerie webových částí do každého uzlu webu SharePoint.Chcete-li přidat nový uzel, třída implementuje rozhraní IExplorerNodeTypeExtension.Implementujte toto rozhraní pokaždé, když chcete rozšířit chování existujícího uzlu v Průzkumníku serveru, například přidání nového podřízeného uzlu k uzlu.
Chcete-li přidat uzel Galerie webových částí do Průzkumníku serveru
Vložte následující kód do SiteNodeExtension soubor kódu WebPartNodeExtension projektu.
[!POZNÁMKA]
Po přidání tohoto kódu bude mít projekt několik chyb kompilace.Těmto chybám předejdete přidáním kódu v dalších krocích.
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); } } } } }
Definování typu uzlu, který představuje webovou část
Vytvořte třídu, která definuje nový typ uzlu, který představuje webovou část.Visual Studio používá k zobrazení podřízených uzlů pod tento nový typ uzlu Galerie webových částí uzlu.Každý z těchto podřízených uzlů představuje jedinou webovou část na webu služby SharePoint.
Chcete-li definovat nový typ uzlu, třída implementuje rozhraní IExplorerNodeTypeProvider.Implementujte toto rozhraní, kdykoli budete chtít definovat nový typ uzlu v Průzkumníku serveru.
Chcete-li definovat uzel webové části napište
Vložte následující kód do WebPartNodeTypeProvider soubor kódu WebPartNodeExtension projektu.
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"); } } } }
Checkpoint
V tomto bodu návodu je všechen kód pro uzel Galerie webových částí v projektu.Sestavení WebPartNodeExtension projektu se ujistěte, že se zkompiluje bez chyb.
Sestavení projektu
- V Průzkumníku, otevřete místní nabídku pro WebPartNodeExtension projektu a pak zvolte sestavení.
Vytvoření balíčku VSIX k nasazení přípony
Chcete-li nasadit rozšíření, použijte VSIX projekt ve vašem řešení k vytvoření VSIX balíčku.Nejprve nakonfigurujte VSIX balíček úpravou souboru source.extension.vsixmanifest, který je součástí projektu.Potom vytvořte VSIX balíček vytvořením řešení.
Chcete-li konfigurovat VSIX balíček
V Průzkumníkuv WebPartNode projekt otevřít source.extension.vsixmanifest souboru v editoru manifestu.
Soubor source.extension.vsixmanifest je základem pro soubor extension.vsixmanifest, který vyžadují všechny balíčky VSIX.Další informace o tomto souboru získáte v tématu VSIX rozšíření schématu Reference.
V Název produktu zadejte Uzel galerie webových částí pro Průzkumník Server.
V Autor zadejte Contoso.
V Popis zadejte přidá vlastní uzel galerie webových částí k uzlu připojení služby SharePoint v Průzkumníku serveru.
Na majetku kartě Editor, zvolte Nový tlačítko.
V Přidat nový majetek v dialogovém okně pole typu vyberte Microsoft.VisualStudio.MefComponent.
[!POZNÁMKA]
Tato hodnota odpovídá prvku MefComponent v souboru extension.vsixmanifest file.Tento prvek určuje název sestavení rozšíření v balíčku VSIX.Další informace naleznete v tématu MEFComponent Element.
V zdroje seznam, zvolte projektu v aktuálním řešení.
V projektu seznam, zvolte WebPartNodeExtensiona pak zvolte OK tlačítko.
Na panelu nabídek zvolte sestavení, Sestavit řešenía ujistěte se, že řešení zkompiluje bez chyb.
Zkontrolujte složku výstupu sestavení pro projekt WebPartNode nyní obsahuje soubor WebPartNode.vsix.
Ve výchozím nastavení je výstupní složka sestavení\bin\Debug složka pod složkou, která obsahuje soubor projektu.
Testování rozšíření
Nyní jste připraveni otestovat nový uzel Galerie webových částí v Průzkumníku serveru.Nejprve spusťte ladění rozšíření projektu v experimentální instanci aplikace Visual Studio.Použití nové Webové části uzel v experimentální instanci Visual Studio.
Chcete-li začít ladit rozšíření
Restartujte aplikaci Visual Studio s pověřeními pro správu a otevřete WebPartNode řešení.
V projektu WebPartNodeExtension otevřete SiteNodeExtension kód souboru a potom přidejte zarážku do prvních řádků kódu v NodeChildrenRequested a CreateWebPartNodes metod.
Zvolte klávesu F5 pro spuštění ladění.
Visual Studio nainstaluje rozšíření do %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Web uzel rozšíření Galerie částí pro Server Explorer\1. 0 a spustí experimentální instanci aplikace Visual Studio.Položku projektu budete testovat v této instanci aplikace Visual Studio.
Chcete-li testovat rozšíření
V experimentální instanci Visual Studio v řádku nabídek zvolte zobrazení, Server Explorer.
Ověřte, zda web služby SharePoint, který chcete použít pro testování se zobrazí pod uzlem Připojení služby SharePoint v Průzkumníku serveru.Pokud není uveden, postupujte takto:
Otevření místní nabídky pro Připojení služby SharePointa pak zvolte Přidat připojení.
V Přidat připojení služby SharePoint dialogovém okně zadejte adresu URL webu služby SharePoint, které chcete připojit a pak zvolte OK tlačítko.
Chcete-li určit web služby SharePoint na vývojovém počítači, zadejte https://localhost.
Rozbalte uzel připojení webu (který zobrazuje adresu URL webu) a potom rozbalte podřízený uzel serveru (například Týmový web).
Ověřte, že se kód ve druhé instanci aplikace Visual Studio zastaví na zarážce, kterou jste nastavili výše v NodeChildrenRequested metodou a pak zvolte klávesu F5 k pokračování v ladění projektu.
V experimentální instanci Visual Studio rozbalte Galerie webových částí uzel, který se zobrazí pod uzel nejvyšší úrovně webu.
Ověřte, že se kód ve druhé instanci aplikace Visual Studio zastaví na zarážce, kterou jste nastavili výše v CreateWebPartNodes metodou a pak zvolte klávesu F5 k pokračování v ladění projektu.
V instance experimentální sady Visual Studio ověřte, zda se zobrazí všechny webové části na připojeném webu pod uzlem Galerie webových částí v Průzkumníku serveru.
Otevření místní nabídky pro webové části a pak zvolte Vlastnosti.
V Vlastnosti okna, ověřte, že se zobrazí podrobnosti o webové části.
V Server Explorer, otevřete místní nabídku pro stejné webové části a pak zvolte Zobrazení zprávy.
V poli zprávy zvolte OK tlačítko.
Odinstalace rozšíření z aplikace Visual Studio
Po dokončení testování rozšíření odinstalujte ze sady Visual Studio.
Chcete-li odinstalovat rozšíření
V experimentální instanci Visual Studio v řádku nabídek zvolte Nástroje, aktualizace a rozšíření.
Aktualizace a rozšíření dialogové okno.
V seznamu rozšíření zvolte Uzel galerie webových částí pro Průzkumník Servera pak zvolte Odinstalace tlačítko.
V dialogovém okně, které se objeví, zvolte Ano tlačítko.
Zvolte Restartovat nyní tlačítko pro dokonční odinstalace.
Položka projektu je také odinstalována.
Zavřete obě instance programu Visual Studio (experimentální instanci a instanci aplikace Visual Studio, ve kterém je otevřené řešení WebPartNode).
Viz také
Úkoly
Názorný postup: Rozšíření serveru Explorer k zobrazení webové části
Vytvoření ikony nebo jiný obrázek (Image Editor ikon)
Referenční dokumentace
Koncepty
Volání do objektových modelů služby SharePoint
Další zdroje
Rozšíření uzlu připojení služby SharePoint v aplikaci Server Explorer