Compartilhar via


Passo a passo: Criando uma etapa de implantação personalizado para projetos do SharePoint

Quando você implantar um projeto do SharePoint, o Visual Studio executa uma série de etapas de implantação em uma ordem específica.O Visual Studio inclui várias etapas internos de implantação, mas você também pode criar seus próprios.

Em essa explicação passo a passo, você criará uma etapa personalizada de implantação para atualizar soluções em um servidor que esteja executando o SharePoint.O Visual Studio inclui etapas internos de implantação para muitas tarefas, tais soluções de retraimanto ou adicionando, mas não inclui uma etapa de implantação para atualizar soluções.Por padrão, quando você implantar uma solução do SharePoint, o Visual Studio retrai primeiro a solução (se é implantado já) e reimplantar na solução inteira.Para obter mais informações sobre etapas internos de implantação, consulte Implantando, publicando e atualizando pacotes de solução do SharePoint.

Essa explicação passo a passo demonstra as seguintes tarefas:

  • Criando uma extensão do Visual Studio que executa duas tarefas principais:

    • A extensão define uma etapa personalizada de implantação para atualizar soluções do SharePoint.

    • A extensão cria uma extensão de projeto que define uma nova configuração de implantação, que é um conjunto de etapas de implantação que são executadas para um determinado projeto.A nova configuração de implantação inclui a etapa personalizada de implantação e várias etapas internos de implantação.

  • Criando dois comandos personalizados do SharePoint que o assembly de extensão chama.Os comandos do SharePoint são métodos que podem ser chamados por assemblies de extensão para usar APIs no modelo de objeto do servidor para o SharePoint.Para obter mais informações, consulte A chamada para os modelos de objeto do SharePoint.

  • Criando um pacote de extensão (Visual Studio) VSIX para implantar ambos os assemblies.

  • Testando a nova etapa de implantação.

Pré-requisitos

Você precisa dos seguintes componentes no computador de desenvolvimento de concluir este explicação passo a passo:

Conhecer os seguintes conceitos é útil, mas não necessário, concluir a explicação passo a passo:

Criando projetos

Para concluir esta explicação passo-a-passo, você deve criar três projetos:

  • Um projeto de VSIX criar o conjunto de VSIX para implantar a extensão.

  • Um projeto de biblioteca de classe que implementa a extensão.Este projeto deve selecionar o .NET Framework 4,5.

  • Um projeto de biblioteca de classe que define o SharePoint personalizado de comandos.Este projeto deve selecionar o .NET Framework 3,5.

Inicie o passo-a-passo criando projetos.

Para criar o projeto VSIX

  1. Inicie o Visual Studio

  2. Em a barra de menu, escolha Arquivo, Novo, Projeto.

  3. Em a caixa de diálogo de Novo Projeto , expanda os nós de Visual C# ou de Visual Basic , e então escolha o nó de Extensibilidade .

    ObservaçãoObservação

    O nó de Extensibilidade está disponível somente se você instalar o Visual Studio SDK.Para obter mais informações, consulte a seção de pré-requisito anteriormente em este tópico.

  4. Em a parte superior da caixa de diálogo, escolha o .NET Framework 4,5 na lista de versões do .NET Framework.

  5. Escolha o modelo de projeto de VSIX , nomeie o projeto UpgradeDeploymentStep, e então escolha o botão de OK .

    Visual Studio adiciona o projeto de UpgradeDeploymentStep a Gerenciador de Soluções.

Para criar o projeto de extensão

  1. Em Gerenciador de Soluções, abra o menu de atalho para o nó da solução de UpgradeDeploymentStep Adicionar, escolha, e escolha Novo Projeto.

    ObservaçãoObservação

    Em projetos Visual Basic, o nó da solução aparece em Gerenciador de Soluções somente quando a caixa de seleção de Sempre mostrar solução está selecionada em General, Projects and Solutions, Options Dialog Box.

  2. Em a caixa de diálogo de Novo Projeto , expanda os nós de Visual C# ou de Visual Basic , e então escolha o nó de Janelas .

  3. Em a parte superior da caixa de diálogo, escolha o .NET Framework 4,5 na lista de versões do .NET Framework.

  4. Escolha o modelo de projeto de Biblioteca de Classes , nomeie o projeto DeploymentStepExtension, e então escolha o botão de OK .

    Visual Studio adiciona o projeto de DeploymentStepExtension a solução e abre o arquivo de código Class1 de opção.

  5. Exclua o arquivo de código Class1 do projeto.

Para criar o projeto de comando do SharePoint

  1. Em Gerenciador de Soluções, abra o menu de atalho para o nó da solução de UpgradeDeploymentStep Adicionar, escolha, e escolha Novo Projeto.

    ObservaçãoObservação

    Em projetos Visual Basic, o nó da solução aparece apenas em Gerenciador de Soluções quando a caixa de seleção de Sempre mostrar solução está selecionada em General, Projects and Solutions, Options Dialog Box.

  2. Em a caixa de diálogo de Novo Projeto , expanda Visual C# ou Visual Basic, e então escolha o nó de Janelas .

  3. Em a parte superior da caixa de diálogo, escolha o .NET Framework 3,5 na lista de versões do .NET Framework.

  4. Escolha o modelo de projeto de Biblioteca de Classes , nomeie o projeto SharePointCommands, e então escolha o botão de OK .

    O Visual Studio adiciona o projeto de SharePointCommands a solução e abre o arquivo de código Class1 de opção.

  5. Exclua o arquivo de código Class1 do projeto.

Configurando projetos

Antes que você escreva código para criar a etapa personalizada de implantação, você deve adicionar arquivos de código e referências assembly, e você deve configurar projetos.

para configurar o projeto de DeploymentStepExtension

  1. Em o projeto de DeploymentStepExtension , adicione dois arquivos de código que possuem os seguintes nomes:

    • UpgradeStep

    • DeploymentConfigurationExtension

  2. Abra o menu de atalho no projeto de DeploymentStepExtension, e então escolha Adicionar Referência.

  3. Em a guia de estrutura , selecione a caixa de seleção para o assembly de System.ComponentModel.Composition.

  4. Em a guia de Extensões , selecione a caixa de seleção para o assembly de Microsoft.VisualStudio.SharePoint, e então escolha o botão de OK .

para configurar o projeto de SharePointCommands

  1. Em o projeto de SharePointCommands , adicione um arquivo de código que é chamado Comando.

  2. Em Gerenciador de Soluções, abra o menu de atalho no nó de projeto de SharePointCommands , e então escolha Adicionar Referência.

  3. Em a guia de Extensões , marque as caixas de seleção para os seguintes conjuntos, escolha e clique no botão de OK

    • Microsoft.SharePoint

    • Microsoft.VisualStudio.SharePoint.Commands

Definindo a etapa personalizada de implantação

Crie uma classe que define a etapa de implantação de atualização.Para definir a etapa de implantação, a classe implementa a interface de IDeploymentStep .Implementar essa interface sempre que você deseja definir uma etapa personalizada de implantação.

Para definir a etapa personalizada de implantação

  • Em o projeto de DeploymentStepExtension , abra o arquivo de código de UpgradeStep, e então cole o seguinte código em ele.

    ObservaçãoObservação

    Após adicionar este código, compilar o projeto mandará alguns erros, mas partirão quando você adiciona o código em etapas posteriores.

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

Criando uma configuração de implantação que inclui a etapa personalizada de implantação

Crie uma extensão do projeto para a nova configuração de implantação, que inclui várias etapas internos de implantação e a nova etapa de implantação de atualização.Criando essa extensão, você ajuda os desenvolvedores do SharePoint para usar a etapa de implantação de atualização em projetos do SharePoint.

Para criar a configuração de implantação, a classe implementa a interface de ISharePointProjectExtension .Implementar essa interface sempre que você deseja criar uma extensão de projeto do SharePoint.

Para criar a configuração de implantação

  1. Em o projeto de DeploymentStepExtension , abra o arquivo de código de DeploymentConfigurationExtension, e então cole o seguinte código em ele.

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

Criando comandos personalizados do SharePoint

Crie dois comandos personalizados que chamam no modelo de objeto do servidor para o SharePoint.Um comando determina se uma solução já está implantado; o outro comando atualiza uma solução.

Para definir comandos do SharePoint

  • Em o projeto de SharePointCommands , abra o arquivo de código de comandos, e então cole o seguinte código em ele.

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

Ponto de Verificação

Em esse ponto do passo-a-passo, todo o código para a etapa personalizada de implantação e comandos do SharePoint agora estão em projetos.Criá-los para certificar-se que compilam sem erros.

para compilar os projetos

  1. Em Gerenciador de Soluções, abra o menu de atalho para o projeto de DeploymentStepExtension , e então escolha Compilar.

  2. Abra o menu de atalho para o projeto de SharePointCommands , e então escolha Compilar.

Criando um conjunto de VSIX para implantar a extensão

Para implantar a extensão, use o projeto de VSIX em sua solução criar um conjunto de VSIX.Primeiro, configure o conjunto de VSIX modificando o arquivo de source.extension.vsixmanifest no projeto de VSIX.Crie o conjunto de VSIX criando a solução.

Para configurar e criar o conjunto de VSIX

  1. Em Gerenciador de Soluções, no projeto de UpgradeDeploymentStep , abra o menu de atalho para o arquivo de source.extension.vsixmanifest , e então escolha Abrir.

    O Visual Studio abre o arquivo no editor manifesto.O arquivo de source.extension.vsixmanifest é a base para o arquivo de extension.vsixmanifest que quaisquer pacotes de VSIX exigem.Para obter mais informações sobre este arquivo, consulte Referência de esquema de extensão VSIX.

  2. Em a caixa de Nome do produto , entre em A etapa de implantação de atualização para projetos do SharePoint.

  3. Em a caixa de Autor , entre em Contoso.

  4. Em a caixa de Descrição , entre em Fornece uma etapa personalizada de implantação de atualização que pode ser usada em projetos do SharePoint.

  5. Em a guia de Ativos do editor, escolha o botão de Novo .

    a caixa de diálogo de adicionar o novo recurso aparece.

  6. Em a lista de Tipo , escolha Microsoft.VisualStudio.MefComponent.

    ObservaçãoObservação

    Esse valor corresponde ao elemento de MefComponent no arquivo de extension.vsixmanifest.Esse elemento especifica o nome de um assembly de extensão no conjunto de VSIX.Para obter mais informações, consulte MEFComponent Element.

  7. Em a lista de Origem , escolha Um projeto na solução atual.

  8. Em a lista de Projeto , escolha, e escolha DeploymentStepExtensionno botão de OK .

  9. Em o editor manifesto, escolha o botão de Novo novamente.

    a caixa de diálogo de adicionar o novo recurso aparece.

  10. Em a lista de Tipo , entre em SharePoint.Commands.v4.

    ObservaçãoObservação

    Esse elemento especifica uma extensão personalizada que você deseja incluir na extensão do Visual Studio.Para obter mais informações, consulte Elemento de ativos (esquema VSX).

  11. Em a lista de Origem , escolha Um projeto na solução atual.

  12. Em a lista de Projeto , escolha, e escolha SharePointCommandsno botão de OK .

  13. Em a barra de menu, escolha Compilar, Compilar solução, e então certifique-se de que a solução compila sem erros.

  14. Certifique-se de que a pasta de saída de compilação para o projeto de UpgradeDeploymentStep agora contém o arquivo de UpgradeDeploymentStep.vsix.

    Por padrão, a pasta de saída de compilação é.\ bin \ debug de sob a pasta que contém o arquivo de projeto.

Preparação testar a etapa de implantação de atualização

Para testar a etapa de implantação de atualização, primeiro você deve implantar uma solução de exemplo para o site do SharePoint.Inicie depurando a extensão na instância de avaliação do Visual Studio.Então crie uma definição de lista e listar a instância para usar para testar a etapa de implantação, e então implanta para o site do SharePoint.Em seguida, modifica a definição da lista e lista a instância e reimplantar-los para demonstrar como o processo padrão de implantação substitui soluções no site do SharePoint.

Posteriormente em esta explicação passo a passo, você irá alterar a definição da lista e a instância da lista e em seguida, você atualizará no site do SharePoint.

Para iniciar a depuração da extensão

  1. Reinicie o Visual Studio com credenciais administrativas, e abra a solução de UpgradeDeploymentStep.

  2. Em o projeto de DeploymentStepExtension, abra o arquivo de código de UpgradeStep, e adicione um ponto de interrupção na primeira linha de código em métodos de CanExecute e de Execute .

  3. Iniciar a depuração escolhendo a tecla F5 ou, na barra de menus, escolhendo Depurar, Iniciar Depuração.

  4. O Visual Studio instala a extensão em %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0Exp\Extensions\Contoso\Upgrade Deployment Step for SharePoint Projects\1.0 e inicia uma instância de avaliação do Visual Studio.Você irá testar a etapa de implantação de atualização em esse caso do Visual Studio.

Para criar um projeto do SharePoint com uma definição de lista e uma lista como métodos de exemplo

  1. Em a instância de avaliação do Visual Studio, na barra de menu, escolha Arquivo, Novo, Projeto.

  2. Em a caixa de diálogo de Novo Projeto , expanda o nó de Visual C# ou o nó de Visual Basic , expanda o nó de SharePoint , e então escolha o nó de 2010 .

  3. Em a parte superior da caixa de diálogo, certifique-se de que o .NET Framework 3,5 aparece na lista de versões do .NET Framework.

    Os projetos para Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010 exigem esta versão do .NET Framework.

  4. Em a lista de modelos de projeto, escolha Projeto do SharePoint 2010, nomeie o projeto EmployeesListDefinition, e então escolha o botão de OK .

  5. Em Assistente de personalização do SharePoint, digite o URL do site que você deseja usar para depurar.

  6. Em O que é o nível de confiança para esta solução do SharePoint, escolha o botão de opção de Implantar como uma solução de farm .

    ObservaçãoObservação

    A etapa de implantação de atualização não suporta soluções na área restrita.

  7. Escolha o botão de Concluir .

    Visual Studio criar o projeto de EmployeesListDefinition.

  8. Abra o menu de atalho para o projeto de EmployeesListDefinition Adicionar, escolha, e escolha Novo Item.

  9. Em a caixa de diálogo de adicionar o novo item – EmployeesListDefinition , expanda o nó de SharePoint , e então escolha o nó de 2010 .

  10. Escolha o modelo de item de Lista , nomeie o item Lista de funcionários, e então escolha o botão de Adicionar .

    O assistente de personalização do SharePoint aparece

  11. Em a página de Escolha as configurações de lista , verifique as seguintes configurações, escolha e no botão de Concluir :

    1. Lista de funcionários aparece na caixa de Nome que você deseja exibir para sua lista? .

    2. O botão de opção de Crie uma lista personalizável baseado em: é escolhida.

    3. Opção (em branco) é escolhido na lista de Crie uma lista personalizável baseado em: .

    Visual Studio cria o item de lista de funcionários com uma coluna de título e um único vazia a instância e abre o designer da lista.

  12. Em o designer da lista, na guia de Colunas , escolha a linha de Digite um novo nome da coluna ou existente , e então adicione as seguintes colunas na lista de Nome para exibição de coluna :

    1. Nome

    2. Empresa

    3. Telefone de negócio

    4. email

  13. Salve todos os arquivos, e então feche o designer da lista.

  14. Em Gerenciador de Soluções, expanda o nó de Lista de funcionários em seguida, expanda o nó filho de Instância da lista de funcionários .

  15. Em o arquivo de Elements.xml, substitua XML padrão no arquivo com o seguinte XML.Este XML altera o nome da lista Funcionários e adiciona informações de um funcionário que nomeie Jim 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>
              <Field Name="Business Phone">555-555-5555</Field>
              <Field Name="E-Mail">jim@contoso.com</Field>
            </Row>
          </Rows>
        </Data>
      </ListInstance>
    </Elements>
    
  16. Salve e feche o arquivo de Elements.xml.

  17. Abra o menu de atalho para o projeto de EmployeesListDefinition, e então escolha Abrir ou Propriedades.

    O designer das propriedades abre.

  18. Em a guia de SharePoint , desmarque a caixa de seleção de automática retraia após depuração , e então salve as propriedades.

Para implantar a definição da lista e a lista como métodos de exemplo

  1. Em Gerenciador de Soluções, escolha o nó de projeto de EmployeesListDefinition .

  2. Em a janela de Propriedades , certifique-se de que a propriedade de Configuração ativa de implantação é definida como Padrão.

  3. Escolha a tecla F5 ou, na barra de menu, escolha Depurar, Iniciar Depuração.

  4. Verifique se o projeto compila com êxito, que navegador da web é aberto para o site do SharePoint, o item de Listas na barra rápida de abertura inclui a nova lista de Funcionários , e que a lista de Funcionários inclui entrada para Jim Hance.

  5. Feche o navegador da web.

Para alterar a definição da lista e a lista cite-os como exemplo e reimplantar-l

  1. Em o projeto de EmployeesListDefinition, abra o arquivo de Elements.xml que é um filho do item de projeto de Instância da lista de funcionários .

  2. Remova o elemento de Data e seus filhos para remover a entrada para Jim Hance da lista.

    Quando você terminar, o arquivo deve conter o seguinte 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. Salve e feche o arquivo de Elements.xml.

  4. Abra o menu de atalho para o item de projeto de Lista de funcionários , e então escolha Abrir ou Propriedades.

  5. Em o designer da lista, escolha a guia de Modos de exibição .

  6. Na lista Colunas Selecionadas, escolha Anexos, e escolha a tecla < para mover essa coluna para a lista Colunas disponíveis.

  7. Repita a etapa anterior para mover a coluna de Telefone comercial da lista de Colunas Selecionadas à lista de Colunas disponíveis .

    Esta ação remover esses campos de exibição padrão da lista de Funcionários no site do SharePoint.

  8. Iniciar a depuração escolhendo a tecla F5 ou, na barra de menus, escolhendo Depurar, Iniciar Depuração.

  9. Verifique se a caixa de diálogo de Conflitos de implantação aparece.

    Esta caixa de diálogo aparece quando o Visual Studio tenta implementar uma solução (instância de lista) a um site web do SharePoint para a solução que já tenha sido implantado.Esta caixa de diálogo não aparecerá quando você executa a etapa de implantação de atualização posteriormente em este passo-a-passo.

  10. Em a caixa de diálogo de Conflitos de implantação , escolha o botão de opção de resolução automaticamente .

    O Visual Studio exclui a instância da lista no site do SharePoint, implantar o item da lista no projeto, e abre no site da web do SharePoint.

  11. Em a seção de Listas de barra rápida de inicialização, escolha a lista de Funcionários , e verificar a seguir detalha:

    • As colunas de Anexos e de Telefone residencial não aparecem em esta exibição de lista.

    • A lista está vazia.Quando você usou a configuração de implantação de Padrão para da solução, a lista de Funcionários foi substituída pela nova vazia a lista em seu projeto.

Testando a etapa de implantação

Você agora está pronto para testar a etapa de implantação de atualização.Primeiro, adicionar um item à instância da lista no SharePoint.Então modificar a definição da lista e listar a instância, gerados no site do SharePoint, e confirme que você que a etapa de implantação de atualização não substitui o novo item.

Para adicionar manualmente um item à lista

  1. Em fita no site do SharePoint, na guia de Ferramentas de Lista , escolha a guia de Itens .

  2. Em o grupo de Novo , escolha Novo Item.

    Como alternativa, você pode escolher o link na lista de item de Adicionar novo item próprio.

  3. Em a janela de funcionários – novo item , na caixa de Título , entre em Gerenciador de recursos.

  4. Em a caixa de Nome , entre em Andy.

  5. Em a caixa de Empresa , digite Contoso.

  6. Escolha o botão de Salvar , verifique se o novo item aparece na lista, e feche o navegador da web.

    Posteriormente em esta explicação passo a passo, você usará este item para verificar que a etapa de implantação de atualização não substitua o conteúdo da lista.

Para testar a etapa de implantação de atualização

  1. Em a instância de avaliação do Visual Studio, em Gerenciador de Soluções, abra o menu de atalho para o nó de projeto de EmployeesListDefinition , e então escolha Propriedades.

    O editor/designer das propriedades abre.

  2. Em a guia de SharePoint , defina a propriedade de Configuração ativa de implantação a Atualizar.

    Esta configuração personalizada de implantação inclui a nova etapa de implantação de atualização.

  3. Abra o menu de atalho para o item de projeto de Lista de funcionários , e então escolha Propriedades ou Abrir.

    O editor/designer das propriedades abre.

  4. Em a guia de Modos de exibição , escolha a coluna de Email , e escolha a chave de < para mover que a lista de Colunas Selecionadas à lista de Colunas disponíveis .

    Esta ação remover esses campos de exibição padrão da lista de Funcionários no site do SharePoint.

  5. Iniciar a depuração escolhendo a tecla F5 ou, na barra de menus, escolhendo Depurar, Iniciar Depuração.

  6. Verifique se o código em outra instância do Visual Studio pára no ponto de interrupção que anteriormente definido no método de CanExecute .

  7. Escolha a tecla F5 novamente, ou na barra de menu, escolha Depurar, Continuar.

  8. Verifique se o código pára no ponto de interrupção que anteriormente definido no método de Execute .

  9. Escolha a tecla F5 ou, na barra de menu, escolha Depurar, Continuar um tempo final.

    Navegador da web abrir o site do SharePoint.

  10. Em a seção de Listas da área de lançamento rápido, escolha a lista de Funcionários , e verificar a seguir detalha:

    • O item que você adicionou manualmente anteriormente (para Andy, gerenciador de recursos) ainda está na lista.

    • As colunas de Telefone comercial e de Endereço de email não aparecem em esta exibição de lista.

    A configuração de implantação de Atualizar altera a instância existente da lista de Funcionários no site do SharePoint.Se você usou a configuração de implantação de Padrão em vez de configuração de Atualizar , você encontraria um conflito de implantação.O Visual Studio resolverá o conflito substituindo a lista de Funcionários , e o item para Andy, gerenciador de recursos, seria excluído.

Limpando o computador de desenvolvimento

Depois que você concluir testar a etapa de implantação de atualização, remova a definição da instância da lista e da lista de site web do SharePoint e, remova a extensão da etapa de implantação do Visual Studio.

Para remover a lista métodos como exemplo de site web do SharePoint

  1. Abra a lista de Funcionários no site do SharePoint, se a lista não estiver aberta.

  2. Em fita no site do SharePoint, escolha a guia de Ferramentas de Lista , e escolha na guia de Lista .

  3. Em o grupo de Configurações , escolha o item de Configurações da lista .

  4. Em Permissões e Gerenciamento, escolha o comando de Excluir essa lista , escolha OK para confirmar que você deseja enviar a lista para a recycle bin, e fechar o navegador da web.

Para remover a definição da lista de site web do SharePoint

  • Em a instância de avaliação do Visual Studio, na barra de menu, escolha Compilar, retraia.

    O Visual Studio retrai a definição da lista de site web do SharePoint.

para desinstalar a extensão

  1. Em a instância de avaliação do Visual Studio, na barra de menu, escolha Ferramentas, Extensões e Atualizações.

    a caixa de diálogo de Extensões e Atualizações abre.

  2. Em a lista de extensões A etapa de implantação de atualização para projetos do SharePoint, escolha, e escolha o comando de Desinstalar .

  3. Em a caixa de diálogo que aparece, escolha Sim para confirmar que você deseja desinstalar a extensão, e então escolha Reiniciar Agora para concluir a desinstalação.

  4. Feche as duas instâncias do Visual Studio (a instância de avaliação e instância do Visual Studio em que a solução de UpgradeDeploymentStep estiver aberta.)

Consulte também

Conceitos

Implantação e estendendo empacotamento do SharePoint