Sdílet prostřednictvím


Podrobné pokyny: Vytvoření vlastního kroku nasazení pro SharePoint projekty

Při nasazení SharePoint projektu Visual Studio 2010 provede řadu kroků nasazení v určitém pořadí. Visual Studio obsahuje mnoho vestavěných nasazení kroky, ale můžete také vytvořit vlastní.

V tomto návodu vytvoříte vlastní nasazení krok upgrade řešení na serveru SharePoint. Visual Studio obsahuje vestavěné nasazení postup pro mnoho úkolů, takové svorkování nebo přidání řešení, ale nezahrnuje krok nasazení řešení inovace. Standardně při nasazení řešení služby SharePoint, Visual Studio nejprve Bézierova řešení (pokud již zavedli) a pak redeploys celého řešení. Získáte další informace o nasazení vestavěné kroky Deploying SharePoint Solution Packages.

Tento návod demonstruje následující úkoly:

  • Vytvoření rozšíření aplikace Visual Studio, které provádí dvě hlavní úlohy:

    • Definuje vlastní nasazení krok upgrade řešení služby SharePoint.

    • Vytvoří rozšíření projektu, který definuje nový Konfigurace nasazení. Konfigurace nasazení je sada deployment kroků, které jsou spouštěny pro daný projekt. Nové konfigurace nasazení zahrnuje vlastní nasazení krok a několik kroků vestavěné nasazení.

  • Vytvoření vlastní dva SharePoint příkazy jsou volány sestavení rozšíření. Příkazy služby SharePoint jsou metody, které lze volat sestavení rozšíření použití rozhraní API v objektovém modelu serveru SharePoint. Další informace naleznete v tématu Volání do objektových modelů služby SharePoint.

  • Vytvoření balíčku rozšíření Visual Studio (VSIX) i sestavení nasazení.

  • Testování nový krok nasazení.

Požadavky

Ve vývojovém počítači potřebujete následující součásti pro dokončení tohoto návodu:

Znalost následujících konceptů je užitečná, ale není požadována k dokončení návodu:

Vytváření projektů

Chcete-li dokončit tento návod, je nutné vytvořit tři projekty:

  • VSIX projektu vytvořit balíček zavedení rozšíření VSIX.

  • Projekt knihovny třídy, který implementuje rozšíření. Tento projekt musí zaměřit .NET Framework 4.

  • Projekt knihovny třídy definující vlastní příkazy služby SharePoint. Tento projekt musí zaměřit..NET Framework 3.5.

Začněte postup vytvořením projektů.

Pro vytvoření projektu VSIX

  1. Spusťte nástroj Visual Studio.

  2. V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).

  3. V dialogovém okně Nový projekt rozbalte uzly Visual C# nebo Visual Basic a potom klikněte na Rozšiřitelnost.

    Poznámka

    Uzel Rozšiřitelnost je k dispozici pouze v případě, že nainstalujete Visual Studio 2010 SDK. Další informace naleznete ve výše uvedeném oddílu požadavků.

  4. V poli se seznamem v horní části dialogového okna zvolte Rozhraní .NET framework 4.

  5. Klikněte na šablonu Projekt VSIX.

  6. V název zadejte UpgradeDeploymentStep.

  7. Klikněte na tlačítko OK.

    Visual StudioPřidá UpgradeDeploymentStep projektu na Aplikaci Solution Explorer.

Chcete-li vytvořit projekt rozšíření

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel řešení, klikněte na Přidat a pak na 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í Obecné, projekty a řešení, dialogové okno Možnosti.

  2. V dialogovém okně Nový projekt rozbalte uzel Visual C# nebo Visual Basic a potom klikněte na Windows.

  3. V poli se seznamem v horní části dialogového okna zvolte Rozhraní .NET framework 4.

  4. Zvolte šablonu projektu Knihovna tříd.

  5. V název zadejte DeploymentStepExtension.

  6. Klikněte na tlačítko OK.

    Visual StudioPřidá DeploymentStepExtension projektu řešení a otevře soubor výchozí kód Class1.

  7. Odstraňte soubor kódu Class1 z projektu.

Vytvořte projekt příkaz SharePoint

  1. V Aplikaci Solution Explorer, klepněte pravým tlačítkem na uzel řešení, přejděte na Přidata klepněte na tlačítko Nový projekt.

    Poznámka

    Projekty jazyka Visual Basic v uzlu řešení pouze zobrazí v Aplikaci Solution Explorer při vždy zobrazit řešení políčko v Obecné, projekty a řešení, dialogové okno Možnosti.

  2. V Přidat nový projekt dialogovém okně pole, rozbalte položku Visual C# nebo Visual Basica klepněte na tlačítko Windows.

  3. Klepněte Knihovna tříd šablona projektu.

  4. V poli se seznamem v horní části dialogového okna zvolte Rozhraní .NET framework 3.5.

  5. V název zadejte SharePointCommands.

  6. Klikněte na tlačítko OK.

    Visual Studio, přidá SharePointCommands projektu řešení a otevře soubor výchozí kód Class1.

  7. Odstraňte soubor kódu Class1 z projektu.

Konfigurace projekty

Před píšete kód vytvořit vlastní nasazení krok, musíte přidat kód soubory a odkazy na sestavení a konfiguraci projekty.

Konfigurace DeploymentStepExtension projektu

  1. V DeploymentStepExtension projektu, přidejte dvě kód soubory nazvané:

    • UpgradeStep

    • DeploymentConfigurationExtension

  2. V nabídce Projekt klepněte na příkaz Přidat odkaz.

  3. Na záložce .NET stiskněte klávesu CTRL a pak zvolte následující sestavení a potom klikněte na tlačítko OK:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

Konfigurace SharePointCommands projektu

  1. V SharePointCommands projektu, přidejte kód souboru s názvem příkazy.

  2. V Aplikaci Solution Explorer, klepněte SharePointCommands projektu uzlu.

  3. V nabídce Projekt klepněte na příkaz Přidat odkaz.

  4. Na záložce .NET stiskněte klávesu CTRL a pak zvolte následující sestavení a potom klikněte na tlačítko OK:

    • Microsoft.SharePoint

    • Microsoft.VisualStudio.SharePoint.Commands

Definování vlastní nasazení krok

Vytvoření třídy definující krok upgrade nasazení. Definovat zavedení kroku implementuje třída IDeploymentStep rozhraní. Kdykoli chcete definovat vlastní nasazení krok implementujte toto rozhraní.

Definovat vlastní nasazení krok

  1. V DeploymentStepExtension projektu, poklepejte na soubor UpgradeStep kód.

  2. Do tohoto souboru vložte následující kód.

    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
    Imports Microsoft.VisualStudio.SharePoint
    Imports Microsoft.VisualStudio.SharePoint.Deployment
    Imports System.ComponentModel.Composition
    
    Namespace Contoso.DeploymentSteps.Upgrade
    
        ' Export attribute: Enables Visual Studio to discover and load this deployment step.
        ' DeploymentStep attribute: Specifies the ID for this new deployment step.
        ' UpgradeStep class: Defines a new deployment step that can be used to upgrade a solution 
        '     on a SharePoint site.
        <Export(GetType(IDeploymentStep))> _
        <DeploymentStep("Contoso.DeploymentSteps.UpgradeSolution")> _
        Friend Class UpgradeStep
            Implements IDeploymentStep
    
            Private solutionName As String
            Private solutionFullPath As String
    
            Private Sub Initialize(ByVal stepInfo As IDeploymentStepInfo) _
                Implements IDeploymentStep.Initialize
                stepInfo.Name = "Upgrade solution"
                stepInfo.StatusBarMessage = "Upgrading solution..."
                stepInfo.Description = "Upgrades the solution on the local machine."
            End Sub
    
            ' Specifies whether the solution can be upgraded.
            Private Function CanExecute(ByVal context As IDeploymentContext) As Boolean _
                Implements IDeploymentStep.CanExecute
    
                ' SharePoint returns all the installed solutions names in lower case.
                solutionName = (context.Project.Package.Model.Name & ".wsp").ToLower()
                solutionFullPath = context.Project.Package.OutputPath
                Dim solutionExists As Boolean = _
                    context.Project.SharePointConnection.ExecuteCommand(Of String, Boolean)(
                    "Contoso.Commands.IsSolutionDeployed", solutionName)
    
                ' Throw exceptions in error cases because deployment cannot proceed.
                If context.Project.IsSandboxedSolution = True Then
                    Dim sandboxMessage As String = "Cannot upgrade the solution. Upgrade deployment " & _
                        "configuration does not support Sandboxed solutions."
                    context.Logger.WriteLine(sandboxMessage, LogCategory.Error)
                    Throw New InvalidOperationException()
                ElseIf solutionExists = False Then
                    Dim notDeployedMessage As String = String.Format("Cannot upgrade the solution. The IsSolutionDeployed " & _
                        "command cannot find the following solution on the SharePoint site: {0}.", solutionName)
                    context.Logger.WriteLine(notDeployedMessage, LogCategory.Error)
                    Throw New InvalidOperationException(notDeployedMessage)
                End If
    
                ' Execute step and continue with deployment.
                Return True
            End Function
    
            Private Sub Execute(ByVal context As IDeploymentContext) _
                Implements IDeploymentStep.Execute
                context.Logger.WriteLine("Upgrading solution: " & solutionName, LogCategory.Status)
                context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution", _
                    solutionFullPath)
            End Sub
    
        End Class
    End Namespace
    
    using System;
    using Microsoft.VisualStudio.SharePoint;
    using Microsoft.VisualStudio.SharePoint.Deployment;
    using System.ComponentModel.Composition;
    
    namespace Contoso.DeploymentSteps.Upgrade
    {
        // Enables Visual Studio to discover and load this deployment step.
        [Export(typeof(IDeploymentStep))]
    
        // Specifies the ID for this new deployment step.
        [DeploymentStep("Contoso.DeploymentSteps.UpgradeSolution")]
    
        // Defines a new deployment step that can be used to upgrade a solution on a SharePoint site.
        internal class UpgradeStep : IDeploymentStep
        {
            private string solutionName;
            private string solutionFullPath;
    
            // Implements IDeploymentStep.Initialize.
            public void Initialize(IDeploymentStepInfo stepInfo)
            {
                stepInfo.Name = "Upgrade solution";
                stepInfo.StatusBarMessage = "Upgrading solution...";
                stepInfo.Description = "Upgrades the solution on the local machine.";
            }
    
            // Implements IDeploymentStep.CanExecute. Specifies whether the solution can be upgraded.
            public bool CanExecute(IDeploymentContext context)
            {
                // SharePoint returns all the installed solutions names in lower case.
                solutionName = (context.Project.Package.Model.Name + ".wsp").ToLower();
                solutionFullPath = context.Project.Package.OutputPath;
                bool solutionExists = context.Project.SharePointConnection.ExecuteCommand<string, bool>(
                    "Contoso.Commands.IsSolutionDeployed", solutionName);
    
                // Throw exceptions in error cases because deployment cannot proceed.
                if (context.Project.IsSandboxedSolution)
                {
                    string sandboxMessage = "Cannot upgrade the solution. The upgrade deployment configuration " +
                        "does not support Sandboxed solutions.";
                    context.Logger.WriteLine(sandboxMessage, LogCategory.Error);
                    throw new InvalidOperationException(sandboxMessage);
                }
                else if (!solutionExists)
                {
                    string notDeployedMessage = string.Format("Cannot upgrade the solution. The IsSolutionDeployed " +
                        "command cannot find the following solution: {0}.", solutionName);
                    context.Logger.WriteLine(notDeployedMessage, LogCategory.Error);
                    throw new InvalidOperationException(notDeployedMessage);
                }
    
                // Execute step and continue with deployment.
                return true;
            }
    
            // Implements IDeploymentStep.Execute.
            public void Execute(IDeploymentContext context)
            {
                context.Logger.WriteLine("Upgrading solution: " + solutionName, LogCategory.Status);
                context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution",
                    solutionFullPath);
            }
        }
    }
    

Vytvoření konfigurace nasazení, která zahrnuje vlastní nasazení krok

Vytvoření rozšíření projektu pro nové konfigurace nasazení. Zavedení konfigurace zahrnuje několik předdefinovaných nasazení kroků a nový krok upgrade nasazení. Tato konfigurace nasazení usnadňuje vývojářům SharePoint použijte krok zavádění inovací v projektech SharePoint.

Vytvoření konfigurace nasazení implementuje třída ISharePointProjectExtension rozhraní. Kdykoli budete chtít vytvořit rozšíření projektu aplikace SharePoint implementujte toto rozhraní.

Vytvoření konfigurace nasazení

  1. V DeploymentStepExtension projektu, poklepejte na soubor DeploymentConfigurationExtension kód.

  2. Do tohoto souboru vložte následující kód.

    Imports Microsoft.VisualStudio.SharePoint
    Imports Microsoft.VisualStudio.SharePoint.Deployment
    Imports System.ComponentModel.Composition
    
    Namespace Contoso.DeploymentSteps.Upgrade
    
        ' Export attribute: Enables Visual Studio to discover and load this project-level extension.
        ' DeploymentConfigurationExtension class: Defines a project-level extension. The extension creates 
        '     a new deployment configuration that includes the upgrade deployment step.
        <Export(GetType(ISharePointProjectExtension))> _
        Friend Class DeploymentConfigurationExtension
            Implements ISharePointProjectExtension
    
            Private Sub Initialize(ByVal projectService As ISharePointProjectService) _
                Implements ISharePointProjectExtension.Initialize
                AddHandler projectService.ProjectInitialized, AddressOf ProjectInitialized
            End Sub
    
            ' Creates the new deployment configuration.
            Private Sub ProjectInitialized(ByVal Sender As Object, ByVal e As SharePointProjectEventArgs)
                Dim deploymentSteps As String() = New String() _
                {
                    DeploymentStepIds.PreDeploymentCommand, _
                    DeploymentStepIds.RecycleApplicationPool, _
                    "Contoso.DeploymentSteps.UpgradeSolution", _
                    DeploymentStepIds.PostDeploymentCommand _
                }
                Dim retractionSteps As String() = New String() _
                {
                    DeploymentStepIds.RecycleApplicationPool, _
                    DeploymentStepIds.RetractSolution
                }
                Dim configuration As IDeploymentConfiguration = e.Project.DeploymentConfigurations.Add( _
                    "Upgrade", deploymentSteps, retractionSteps)
                configuration.Description = "This is the upgrade deployment configuration"
            End Sub
    
        End Class
    End Namespace
    
    using Microsoft.VisualStudio.SharePoint;
    using Microsoft.VisualStudio.SharePoint.Deployment;
    using System.ComponentModel.Composition;
    
    namespace Contoso.DeploymentSteps.Upgrade
    {
        // Enables Visual Studio to discover and load this project-level extension.
        [Export(typeof(ISharePointProjectExtension))]
    
        // Defines a project-level extension. The extension creates a new deployment configuration that includes the
        // upgrade deployment step.
        internal class DeploymentConfigurationExtension : ISharePointProjectExtension
        {
            // Implements ISharePointProjectExtension.Initialize.
            public void Initialize(ISharePointProjectService projectService)
            {
                projectService.ProjectInitialized += ProjectInitialized;
            }
    
            // Creates the new deployment configuration.
            private void ProjectInitialized(object sender, SharePointProjectEventArgs e)
            {
                string[] deploymentSteps = new string[] 
                {
                    DeploymentStepIds.PreDeploymentCommand,
                    DeploymentStepIds.RecycleApplicationPool,
                    "Contoso.DeploymentSteps.UpgradeSolution",
                    DeploymentStepIds.PostDeploymentCommand 
                };
    
                string[] retractionSteps = new string[] 
                {
                    DeploymentStepIds.RecycleApplicationPool,
                    DeploymentStepIds.RetractSolution                
                };
    
                IDeploymentConfiguration configuration = e.Project.DeploymentConfigurations.Add(
                    "Upgrade", deploymentSteps, retractionSteps);
                configuration.Description = "This is the upgrade deployment configuration";
            }
        }
    }
    

Vytváření vlastních příkazů služby SharePoint

Vytvořte dvě vlastní příkazy, které volání do objektového modelu serveru SharePoint. Jeden příkaz určuje, zda je již nasadili řešení; Tento příkaz inovace řešení.

Definování příkazů služby SharePoint

  1. V SharePointCommands projektu, poklepejte na soubor příkazy kódu.

  2. Do tohoto souboru vložte následující kód.

    Imports System
    Imports System.IO
    Imports Microsoft.SharePoint
    Imports Microsoft.SharePoint.Administration
    Imports Microsoft.VisualStudio.SharePoint.Commands
    
    Namespace Contoso.DeploymentSteps.Upgrade
    
        Friend Class Commands
    
            ' Determines whether the specified solution has been deployed to the local SharePoint server.
            <SharePointCommand("Contoso.Commands.IsSolutionDeployed")> _
            Private Function IsSolutionDeployed(ByVal context As ISharePointCommandContext, ByVal solutionName As String) As Boolean
                Dim solution As SPSolution = SPFarm.Local.Solutions(solutionName)
                Return solution IsNot Nothing
            End Function
    
            ' Upgrades the specified solution to the local SharePoint server.
            <SharePointCommand("Contoso.Commands.UpgradeSolution")> _
            Private Sub UpgradeSolution(ByVal context As ISharePointCommandContext, ByVal fullWspPath As String)
                Dim solution As SPSolution = SPFarm.Local.Solutions(Path.GetFileName(fullWspPath))
                If solution Is Nothing Then
                    Throw New InvalidOperationException("The solution has not been deployed.")
                End If
                solution.Upgrade(fullWspPath)
            End Sub
    
        End Class
    End Namespace
    
    using System;
    using System.IO;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Administration;
    using Microsoft.VisualStudio.SharePoint.Commands;
    
    namespace Contoso.DeploymentSteps.Upgrade
    {
        internal class Commands
        {
            // Determines whether the specified solution has been deployed to the local SharePoint server.
            [SharePointCommand("Contoso.Commands.IsSolutionDeployed")]
            private bool IsSolutionDeployed(ISharePointCommandContext context, string solutionName)
            {
                SPSolution solution = SPFarm.Local.Solutions[solutionName];
                return solution != null;
            }
    
            // Upgrades the specified solution to the local SharePoint server.
            [SharePointCommand("Contoso.Commands.UpgradeSolution")]
            private void UpgradeSolution(ISharePointCommandContext context, string fullWspPath)
            {
                SPSolution solution = SPFarm.Local.Solutions[Path.GetFileName(fullWspPath)];
    
                if (solution == null)
                {
                    throw new InvalidOperationException("The solution has not been deployed.");
                }
    
                solution.Upgrade(fullWspPath);
            }
        }
    }
    

Checkpoint

V tomto okamžiku v návodu, kód kroku vlastní nasazení a příkazy služby SharePoint jsou nyní v projektech. Vytvoření řešení se ujistěte, že oba projekty kompilovat bez chyb.

Sestavte řešení

  • V nabídce Sestavit zvolte Sestavit řešení.

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 VSIX. Potom vytvořte VSIX balíček vytvořením řešení.

Chcete-li konfigurovat a vytvořit balíček VSIX

  1. V Aplikaci Solution Explorerpod UpgradeDeploymentStep projektu, poklepejte source.extension.vsixmanifest souboru.

    Visual Studio otevře soubor v editoru manifestu. Soubor source.extension.vsixmanifest je základem pro soubor extension.vsixmanifest, který je vyžadován pro všechny balíčky VSIX. Další informace o tomto souboru získáte v tématu VSX Schema for Extensions.

  2. V Název produktu zadejte Krok nasazení Upgrade projektů SharePoint.

  3. V poli Autor napište Contoso.

  4. V Popis zadejte vlastní inovace nasazení kroku lze použít v projektech SharePoint poskytuje.

  5. V oddílu Obsah editoru klikněte na tlačítko Přidání obsahu.

  6. V dialogovém okně Přidání obsahu v seznamu Volba typu obsahu zvolte Komponenta MEF.

    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 (VSX Schema).

  7. Pod Vybrat zdroj, klepněte projektu rádiové tlačítko a vyberte DeploymentStepExtension v seznamu vedle něj.

  8. Klikněte na tlačítko OK.

  9. V editoru manifestu znovu klikněte na tlačítko Přidání obsahu.

  10. V dialogovém okně Přidání obsahu v seznamu Zvolit typ obsahu zvolte Vlastní typ rozšíření.

    Poznámka

    Tato hodnota odpovídá CustomExtension prvku extension.vsixmanifest. Tento prvek určuje vlastní rozšíření, které chcete zahrnout v rozšíření Visual Studio. Další informace naleznete v tématu CustomExtension Element (VSX Schema).

  11. V textovém poli Typ napište SharePoint.Commands.v4.

    Poznámka

    Tato hodnota odpovídá Type atributu CustomExtension prvku extension.vsixmanifest. Hodnota Sharepoint.Commands.v4 je vyžadována pro všechny vlastní rozšíření sestavení obsahující vlastní příkazy služby SharePoint.

  12. Pod Vybrat zdroj, klepněte projektu rádiové tlačítko a vyberte SharePointCommands v seznamu vedle něj.

  13. Klikněte na tlačítko OK.

  14. V nabídce Build (Sestavit) klepněte na příkaz Build Solution (Sestavit řešení). Přesvědčte se, zda je řešení zkompilován bez chyb.

  15. Otevřete složku výstup sestavení projektu UpgradeDeploymentStep. Ujistěte se, že tato složka nyní obsahuje soubor UpgradeDeploymentStep.vsix.

    Ve výchozím nastavení je výstupní složka sestavení \bin\Debug složka pod složkou, která obsahuje soubor projektu.

Příprava na Test upgradu krok nasazení

Upgrade nasazení kroku otestujte nejprve nutné zavést roztoku vzorku na web služby SharePoint. Spustit ladění rozšíření experimentální instance aplikace Visual Studio. Potom vytvořte seznam definici a instanci seznamu Testovat zavedení kroku pomocí a potom nasadit na web služby SharePoint. Dále upravit seznam definici a instanci seznamu a znovu je vidět, jak přepíše výchozí proces nasazení řešení na webu SharePoint.

Dále v tomto návodu upravit seznam definici a instanci seznamu a potom inovovat na webu SharePoint

Chcete-li začít ladit rozšíření

  1. Restartujte aplikaci Visual Studio s oprávněními správce a otevřete UpgradeDeploymentStep roztoku.

  2. DeploymentStepExtension projektu, otevřete soubor UpgradeStep kód a zarážky na první řádek kódu v CanExecute a Execute metod.

  3. Stiskněte F5 pro spuštění ladění.

  4. Visual Studio nainstaluje rozšíření pro SharePoint Projects\1.0 %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Upgrade krok nasazení a spustí experimentální instanci aplikace Visual Studio. V této instanci aplikace Visual Studio bude test upgradu nasazení krok.

Vytvoření seznamu definici a instanci seznamu

  1. V experimentální instanci Visual Studio v nabídce Soubor vyberte Nový a potom klikněte na Projekt.

  2. V Nový projekt dialogovém okně pole, rozbalte položku Visual C#, rozbalte SharePointa klepněte na tlačítko 2010.

  3. V poli se seznamem v horní části dialogového okna zkontrolujte, zda je vybráno .NET framework 3.5. Projekty pro Microsoft SharePoint Foundation 2010 a Microsoft SharePoint Server 2010 vyžadují této verze.NET Framework.

  4. Klepněte v seznamu šablon projektů Definice seznamu.

  5. V název zadejte EmployeesListDefinition.

  6. Klikněte na tlačítko OK.

  7. V SharePoint Průvodce přizpůsobením, zadejte adresu URL webu, který chcete použít pro ladění.

  8. Pod Co je úroveň důvěryhodnosti pro toto řešení SharePoint, klepněte na tlačítko nasadit jako řešení farmy.

    Poznámka

    Upgrade nasazení krok nepodporuje uzavřených apletů řešení.

  9. Klepněte na tlačítko Další.

  10. V Zvolte nastavení definice seznamu stránky pod Co je zobrazovaný název definice seznamu?, typ Seznam zaměstnanců.

  11. Pod Co je typ seznamu definice?, vyberte Kontakty.

  12. Ujistěte se, že Přidat instanci seznamu pro tuto definici seznamu políčko.

  13. Klepněte na tlačítko Dokončit.

    Visual Studio projekt vytvoří a otevře v editoru soubor Elements.xml pro definici seznamu.

  14. V Aplikaci Solution Explorer, klepněte pravým tlačítkem myši EmployeesListDefinition uzlu projektu a na Vlastnosti.

  15. Na SharePoint kartu Vlastnosti projektu vymazat Auto odvolat po ladění políčko.

  16. V Aplikaci Solution Explorer, rozbalte ListDefinition1 uzlu a Rozbalit podřízené ListInstance1 uzel.

  17. Poklepejte na soubor Elements.xml, který je podřízeným ListInstance1 uzel. Elements.xml soubor se otevře v editoru.

  18. Následující kód XML nahraďte výchozí XML v tomto souboru. Změní název v seznamu XML této zaměstnanci. Také přidá položku pro zaměstnance s názvem Jan Hance.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <ListInstance Title="Employees"
                    OnQuickLaunch="TRUE"
                    TemplateType="10000"
                    Url="Lists/Employees"
                    Description="Simple list to test upgrade deployment step">
        <Data>
          <Rows>
            <Row>
              <Field Name="Title">Hance</Field>
              <Field Name="FirstName">Jim</Field>
              <Field Name="Company">Contoso</Field>
            </Row>
          </Rows>
        </Data>
      </ListInstance>
    </Elements>
    

Definice seznamu a instanci seznamu nasazení

  1. V Aplikaci Solution Explorer, klepněte EmployeesListDefinition projektu uzlu.

  2. V Vlastnosti okna, ujistěte se, že Konfigurace nasazení služby Active je nastavena na výchozí.

  3. Stiskněte tlačítko F5.

  4. Ověřte, že vytvoří projekt úspěšně, že webu SharePoint se otevře do nového zaměstnanci seznam a že seznam obsahuje položky pro Hance Jan.

  5. Zavřete webový prohlížeč.

Upravit seznam definici a instanci seznamu a znovu je

  1. V projektu EmployeesListDefinition, poklepejte na soubor Elements.xml, který je podřízeným ListInstance1 položku projektu.

  2. Odebrat Data prvku a jeho potomky odeberte položku Jan Hance ze seznamu. Po dokončení soubor by měl obsahovat následující XML.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <ListInstance Title="Employees"
                    OnQuickLaunch="TRUE"
                    TemplateType="10000"
                    Url="Lists/Employees"
                    Description="Simple list to test upgrade deployment step">
      </ListInstance>
    </Elements>
    
  3. Poklepejte na soubor Schema.xml, který je podřízeným ListDefinition1 položku projektu.

  4. Hledat v tomto souboru řetězce BaseViewID="1". Tento řetězec je atribut View prvek, který změní v další kroky.

  5. Podle tohoto View prvkem, najít dítě ViewFields prvku.

  6. Pod ViewFields prvek, odebrat dvě podřízené FieldRef prvky, které mají Name atribut nastaven na Attachments a HomePhone. Tato akce odebere z výchozího zobrazení těchto polí zaměstnanci seznam na webu služby SharePoint. Po dokončení, ViewFields prvek by měl mít následující obsah.

    <ViewFields>
      <FieldRef Name="LinkTitle" />
      <FieldRef Name="FirstName" />
      <FieldRef Name="Company" />
      <FieldRef Name="WorkPhone" />
      <FieldRef Name="Email" />
    </ViewFields>
    
  7. Stiskněte tlačítko F5. Ověřte, zda Nasazení konflikty se zobrazí dialogové okno. Toto dialogové okno Visual Studio pokusí zobrazí se nasazení řešení (seznam instance) s řešením nasazení webu SharePoint.

    Dále v tomto návodu zjistíte toto dialogové okno nezobrazí po provedení upgradu nasazení krok.

  8. Klepněte na tlačítko vyřešit automaticky. Visual Studio odstraní instanci seznamu na webu služby SharePoint, nasadí položky seznamu v projektu a potom otevře na webu služby SharePoint zaměstnanci seznam.

  9. Ověřte následující podrobnosti:

    • Přílohy a Telefon domů sloupcích v tomto zobrazení seznamu nezobrazí.

    • Seznam je nyní prázdný. Při použití výchozí konfigurace nasazení znovu nasazovat řešení, zaměstnanci seznam byl nahrazen v projektu nový prázdný seznam.

Testování nasazení krok

Nyní jste připraveni otestovat krok upgrade nasazení. Nejprve přidáte položku do seznamu instance služby SharePoint. Potom změňte definici seznamu a instanci seznamu a potom inovovat na webu služby SharePoint potvrďte, že upgrade nasazení krok přepsat nové položky.

Ruční přidání položky do seznamu

  1. Na pásu karet na webu SharePoint klepněte položky kartu.

  2. V Nový skupinu, klepněte na tlačítko Nové položky.

  3. V Příjmení pole, zadejte Ruth.

  4. V jméno pole, zadejte Andy.

  5. V společnosti pole, zadejte Contoso.

  6. Klepněte na tlačítko Save (Uložit). Ověřte, zda nové položky v seznamu. Dále v tomto návodu budete používat tuto položku ověřit, že upgrade nasazení krok přepsat obsah tohoto seznamu.

  7. Zavřete webový prohlížeč.

Test upgradu nasazení krok

  1. Experimentální instance aplikace Visual Studio v Aplikaci Solution Explorer, klepněte EmployeesListDefinition projektu uzlu.

  2. V Vlastnosti okno, nastavte Konfigurace aktivní nasazení vlastnost Upgrade. Toto je nasazení vlastní konfiguraci, která zahrnuje nový krok upgrade nasazení.

  3. Poklepejte na soubor Schema.xml, který je podřízeným ListDefinition1 položku projektu.

  4. Vyhledejte ViewFields prvek, který jste dříve změnili.

  5. Pod ViewFields prvek, odebrat dvě podřízené FieldRef prvky, které mají Name atribut nastaven na WorkPhone a Email. Tato akce odebere z výchozího zobrazení těchto polí zaměstnanci seznam na webu služby SharePoint. Po dokončení, ViewFields prvek by měl mít následující obsah.

    <ViewFields>
      <FieldRef Name="LinkTitle" />
      <FieldRef Name="FirstName" />
      <FieldRef Name="Company" />
    </ViewFields>
    
  6. Stiskněte tlačítko F5. Ověření kódu v jiné instanci aplikace Visual Studio přestává reagovat na zarážky v dříve nastavené CanExecute metody.

  7. Stiskněte klávesu F5 znovu. Ověřte, že kód zastaví na dříve v nastavené zarážky Execute metody.

  8. Stiskněte klávesu F5 konečný čas. Na webu služby SharePoint zaměstnanci seznam.

  9. V oblasti panelu Snadné spuštění klepněte zaměstnanci seznam.

  10. Ověřte následující podrobnosti:

    • Andy Ruth zboží, které jste přidali ručně dříve je stále v seznamu.

    • Obchodní telefonní a E-mailovou adresu sloupců v zobrazení seznamu nezobrazí.

    Upgrade konfigurace nasazení upraví existující zaměstnanci instanci seznamu na webu služby SharePoint. Pokud jste použili výchozí konfigurace nasazení místo Upgrade konfigurace by nastat konflikt nasazení. Visual Studio by konflikt vyřešit nahrazením zaměstnanci seznamu a Andy Ruth položka bude odstraněna.

Čištění vývojového počítače

Po dokončení testování nasazení upgrade krok odebrat instanci seznamu a definice seznamu z webu služby SharePoint a rozšíření nasazení krok odebrat z aplikace Visual Studio.

Odebrat instanci seznamu z webu služby SharePoint

  1. Otevřít zaměstnanci seznam na webu služby SharePoint, pokud již není otevřena.

  2. V pásu karet na webu služby SharePoint klikněte na záložku Seznam.

  3. Na záložce Seznam ve skupině Nastavení klikněte na Nastavení seznamu.

  4. Pod Oprávnění a Správa klikněte Odstranit tento seznam. Klikněte na tlačítko OK k potvrzení, že chcete odeslat seznam do odpadkového koše.

  5. Zavřete webový prohlížeč.

Definice seznamu odebrat z webu služby SharePoint

  • Experimentální instance aplikace Visual Studio na sestavení nabídce vyberte Retract.

    Visual Studio Bézierova definice seznamu z webu SharePoint.

Chcete-li odinstalovat rozšíření

  1. V experimentální instanci Visual Studio v nabídce Nástroje klikněte na tlačítko Správce rozšíření.

    Otevře se okno Správce rozšíření.

  2. V seznamu přípon, klepněte na Krok nasazení SharePoint projektůa klepněte na tlačítko Odinstalace.

  3. V dialogovém okně, které se objeví, klikněte na tlačítko Ano pro potvrzení, že chcete odinstalovat rozšíření.

  4. Klikněte na Restartovat nyní pro dokonční odinstalace.

  5. Zavřete obě instance (instance experimentální a instance Visual Studio, která má otevřené řešení UpgradeDeploymentStep) Visual Studio.

Viz také

Další zdroje

Rozšíření balení a nasazení služby SharePoint