Implantar pacotes de solução (SharePoint Foundation 2010)

 

Aplica-se a: SharePoint Foundation 2010

Tópico modificado em: 2016-11-30

Este artigo descreve pacotes de solução e a função que eles exercem na implantação de personalizações criadas e desenvolvidas no Microsoft SharePoint Foundation 2010. Ele inclui procedimentos para importação e implantação de pacotes de solução e um exemplo de criação e implantação de um pacote de solução usando o Microsoft Visual Studio 2010.

Neste artigo:

  • O que é um pacote de solução?

  • Implantando elementos de site usando pacotes de solução

  • Criando e implantando um pacote de solução de Web Parts personalizado usando o Visual Studio 2010

O que é um pacote de solução?

Um pacote de solução é um pacote de distribuição que entrega seu trabalho de desenvolvimento personalizado do SharePoint Foundation 2010 a servidores Web ou servidores de aplicativos em seu farm de servidores. Use soluções para empacotar e implantar Recursos, definições de site, modelos, páginas de layout, Web Parts, folhas de estilo em cascata e assemblies personalizados.

Este artigo não discute a implantação de soluções em área restrita. É possível implantar uma solução do Microsoft SharePoint Foundation 2010 diretamente no farm do SharePoint Foundation ou implantá-la em uma área restrita. Uma área restrita é um ambiente de execução restrito que permite aos programas acessar somente determinados recursos e impede que os problemas que ocorrem nessa área afetem o restante do ambiente de servidor. Para obter mais informações, consulte Visão geral de soluções de área restrita (SharePoint Foundation 2010).

Um pacote de solução é um arquivo CAB com uma extensão de nome de arquivo .wsp e um arquivo de manifesto. É recomendável usar o Visual Studio 2010 Tools for SharePoint 2010 para desenvolver e criar pacotes de solução do SharePoint. Também é possível criar pacotes de solução manualmente usando ferramentas como Makecab.exe e SharePoint Packman.

Os componentes que podem ser empacotados em uma solução incluem:

  • Assemblies do .NET Framework, normalmente assemblies de Web Part e assemblies de receptor de evento.

  • Arquivos de implantação, como arquivos de recursos, páginas ou outros arquivos auxiliares.

  • Recursos, que permitem ativar e desativar código em um site e fornecem funcionalidade incluindo elementos como listas personalizadas, bibliotecas, campos e tipos de conteúdo.

  • Novos modelos e definições de site.

  • Configurações que devem ser executadas no nível do servidor Web — por exemplo, implantação de personalizações nos arquivos Web.config para o registro de Web Parts. Você também pode modificar as configurações com um Recurso que é distribuído com um Recurso.

  • Conteúdo como páginas da Web e imagens chamadas por páginas da Web. Se for preciso implantar conteúdo da Web em um ambiente desconectado, use um pacote de implantação de conteúdo.

Implantando elementos de site usando pacotes de solução

Nesta seção:

  • Quando usar pacotes de solução

  • Implantando soluções de farm

  • Importando um pacote de solução

  • Implantando um pacote de solução

  • Sobre a criação de um pacote de solução

Quando usar pacotes de solução

Uma prática recomendada para a implantação de personalizações é usar pacotes de solução como parte de um processo de gerenciamento do ciclo de vida do aplicativo que seja consistente, seguro e simples. Os pacotes de solução simplificam a alteração dos Recursos e da funcionalidade de sites após sua criação.

É possível usar pacotes de solução para implantar novas soluções e atualizar soluções existentes no farm. Você pode empacotar todas as entidades do SharePoint Foundation como um arquivo, adicionar o arquivo ao repositório de soluções e implantá-lo nos servidores Web front-end no farm. Use pacotes de solução para sincronizar um servidor Web front-end de forma que seu estado seja consistente com o estado de outros servidores Web do farm.

É possível usar pacotes de solução para implantar personalizações de elementos de site criados de um farm de integração para um farm de criação, piloto ou de produção. No SharePoint Foundation, os usuários podem salvar um site personalizado como um modelo. Isso cria um pacote de solução com uma extensão de nome de arquivo .wsp que pode ser implantado em outro farm.

Você pode usar pacotes de solução para implantar personalizações entre estes ambientes:

  • De estações de trabalho de desenvolvedor para um farm de integração ou um sistema de gerenciamento de configuração de software

  • De um farm de integração e estações de trabalho clientes de criação para farms piloto ou de produção

Implantando soluções de farm

As soluções de farm são implantadas localmente ou usando um serviço de timer. As implantações locais e baseadas em timer podem ser disparadas por meio de instruções de linha de comando ou programaticamente, por meio do modelo de objeto.

Implantação local

Em uma implantação local, os arquivos de solução são implantados somente no computador no qual a operação de implantação foi iniciada. A solução só é marcada como "implantada" no banco de dados de configuração depois que os arquivos da solução são implantados em todos os servidores aplicáveis no farm de servidores. Em seguida, os recursos da solução são instalados, e os arquivos de definição e esquema são confirmados no repositório de configuração.

Implantações do Serviço de Timer

Em implantações que usam o serviço de timer, a implantação cria um trabalho de timer. O trabalho de timer é selecionado pelo serviço de timer em cada servidor Web do farm de servidores. Inicialmente, o manifesto e manifestos de recurso são analisados para a localização de arquivos de assembly e_layout, que são copiados para os locais apropriados. Todos os outros arquivos contidos em um diretório de recursos são copiados para o diretório de recursos. Após a cópia dos arquivos da solução para os computadores de destino, uma redefinição de configuração é agendada para todos os servidores Web front-end; em seguida, a redefinição implanta os arquivos e reinicia o IIS (Serviços de Informações da Internet da Microsoft). Os recursos da solução são registrados, e os arquivos de definição e esquema são confirmados no repositório de configuração.

Para obter mais informações sobre o repositório, a implantação e a sincronização de soluções, consulte o artigo sobre como implantar uma solução (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0x416) no SDK (Software Development Kit) do Microsoft SharePoint 2010

Adicionando um pacote de solução

Para implantar um pacote de solução, você deve adicioná-lo ao banco de dados de soluções de um farm do SharePoint Foundation.

Importante

Você deve ser membro do grupo Administradores em qualquer computador em que o Windows PowerShell for executado.

Para importar um pacote de solução usando o Windows PowerShell

  1. Verifique se você atende aos seguintes requisitos mínimos: Consulte Add-SPShellAdmin..

  2. No menu Iniciar, clique em Todos os Programas.

  3. Clique em Produtos do Microsoft SharePoint 2010.

  4. Clique em Shell de Gerenciamento do SharePoint 2010.

  5. No prompt de comando do Windows PowerShell, digite o seguinte comando:

    Add-SPSolution -LiteralPath <SolutionPath>
    

A solução é adicionada ao repositório de soluções do farm. Para usá-la, siga o procedimento na próxima seção deste artigo. Para obter mais informações, consulte Add-SPSolution.

Implantando um pacote de solução

Você pode implantar soluções importadas usando o site da Administração Central ou o Windows PowerShell. Depois que uma solução é adicionada ao repositório de soluções por meio do cmdlet Add-SPSolution do Windows PowerShell, ela deve ser implantada em um site para poder ser acessada.

Observação

Não é possível adicionar uma solução ao repositório de soluções usando a página Gerenciamento de Soluções na Administração Central.

Os procedimentos a seguir mostram como implantar uma solução importada em um site no farm usando o site da Administração Central ou o Windows PowerShell.

Para implantar uma solução usando a Administração Central

  1. Na home page da Administração Central, clique em Configurações do Sistema.

  2. Na seção Gerenciamento de Farm, clique em Gerenciar soluções de farm.

  3. Na página Gerenciamento de Soluções, clique na solução que deseja implantar.

  4. Na página Propriedades da Solução, clique em Implantar Solução.

  5. Na página Implantar Solução, na seção Implantar Quando, selecione uma das seguintes opções:

    • Agora

    • Em um horário específico. Se você selecionar essa opção, especifique um horário usando as caixas de data e hora. É recomendável selecionar um horário em que a carga nos servidores de destino seja baixa.

  6. Na seção Implantar em?, na lista Um aplicativo Web específico, clique em Todos os aplicativos Web ou selecione um aplicativo Web específico.

  7. Clique em OK.

Para implantar um pacote de solução em um único aplicativo Web usando o Windows PowerShell

  1. Verifique se você atende aos seguintes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. No menu Iniciar, clique em Todos os Programas.

  3. Clique em Produtos do Microsoft SharePoint 2010.

  4. Clique em Shell de Gerenciamento do SharePoint 2010.

  5. No prompt de comando do Windows PowerShell, digite o seguinte comando:

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Em que:

    • <Nome_da_Solução> é o nome da solução.

    • <Nome_da_URL> é a URL do aplicativo Web no qual você deseja implantar a solução importada.

    Por padrão, a solução é implantada imediatamente. Você também pode agendar a implantação usando o parâmetro time. Para obter mais informações, consulte Install-SPSolution.

Para implantar um pacote de solução em todos os aplicativos Web usando o Windows PowerShell

  1. Verifique se você atende aos seguintes requisitos mínimos: Consulte Add-SPShellAdmin.

  2. No menu Iniciar, clique em Todos os Programas.

  3. Clique em Produtos do Microsoft SharePoint 2010.

  4. Clique em Shell de Gerenciamento do SharePoint 2010.

  5. No prompt de comando do Windows PowerShell, digite o seguinte comando:

    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    Em que:

    • GACDeployment é o parâmetro que habilita o SharePoint Foundation 2010 a implantar os assemblies no cache de assembly global.

    • CASPolicies permite a criação de um arquivo personalizado de política de segurança de acesso de código (CAS) e sua ativação no arquivo Web.config do conjunto de sites de destino.

    Por padrão, a solução é implantada imediatamente. Você também pode agendar a implantação usando o parâmetro time.

Sobre a criação de um pacote de solução

O SharePoint Foundation 2010 não inclui uma ferramenta para a criação de pacotes de solução. Esta seção descreve formas de criar pacotes de solução que contêm artefatos e elementos de site desenvolvidos.

Visual Studio 2010

É possível usar o Visual Studio 2010 para agrupar elementos relacionados do SharePoint em um Recurso e reunir vários Recursos, definições de site, assemblies e outros arquivos em um único pacote (arquivo .wsp) para implantação em servidores que estejam executando o SharePoint Foundation 2010. Você pode usar o Visual Studio 2010 para depurar e testar o arquivo .wsp no servidor que executa o SharePoint Foundation 2010, além de personalizar as etapas de implantação no computador de desenvolvimento.

Desenvolvedores podem criar soluções do SharePoint no Visual Studio 2010 e produzir arquivos .wsp usando o processo de compilação automatizada. O código-fonte do projeto do Visual Studio SharePoint usado para gerar o arquivo .wsp também pode ser adicionado ao sistema de controle de código-fonte usando a integração do Visual Studio 2010. O Visual Studio 2010 pode importar arquivos .wsp e criar projetos para estendê-los ainda mais e para criar novos arquivos .wsp. A principal fonte de arquivos .wsp importados para o Visual Studio 2010 consiste nos modelos salvos de sites usando o comando Salvar como Modelo nos sites do SharePoint Foundation 2010. Os modelos podem ser usados para salvar todas as personalizações de site em uma solução do SharePoint.

Para obter mais informações, consulte o artigo sobre desenvolvimento do SharePoint no Visual Studio (https://go.microsoft.com/fwlink/?linkid=187000&clcid=0x416).

Makecab

Pacotes de solução podem ser criados manualmente usando ferramentas como Makecab.exe. A ferramenta Makecab.exe utiliza um ponteiro para um arquivo .ddf, que descreve a estrutura do arquivo CAB. O formato de um arquivo .ddf é semelhante ao de um arquivo .inf — ou seja, você declara um cabeçalho padrão e enumera, um arquivo por linha, o conjunto de arquivos de acordo com sua localização no disco e o local em que devem estar no arquivo CAB.

A ferramenta Makecab.exe está disponível para download no Software Development Kit do Microsoft Cabinet (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x416).

Sobre a personalização de pacotes de solução

Se você precisar fazer qualquer uma das personalizações a seguir em soluções do SharePoint Foundation 2010, convém usar o Visual Studio 2010 para personalizar pacotes de solução. Também é possível fazer essas personalizações criando manualmente pacotes de solução do SharePoint.

  • Implantar assemblies do .NET Framework na pasta particular do aplicativo, não no cache de assembly global.

  • Adicionar permissões de segurança de acesso do código à solução que deve ser aplicada durante a implantação.

  • Usar nomes diferentes do padrão nas pastas de recursos.

  • Localizar a solução.

  • Associar manipuladores de eventos de Recursos a determinados tipos de soluções do SharePoint Foundation 2010, como soluções de Web Part.

  • Adicionar recursos (arquivos XML, imagens, arquivos .dll e assemblies) ao pacote de solução.

Criar manualmente um arquivo de solução

Na maioria dos cenários de desenvolvimento do SharePoint Foundation 2010, convém usar o Visual Studio 2010 Tools for SharePoint 2010 para desenvolver e criar pacotes de solução do SharePoint. No Visual Studio 2010, o processo de implantação copia o arquivo .wsp para o servidor que executa o SharePoint Foundation 2010, instala a solução e ativa os Recursos.

Também é possível criar manualmente um arquivo de solução. A seguir, as etapas básicas da criação de um arquivo de solução:

  1. Reúna todos os arquivos de solução individuais em uma pasta. Não há diretrizes concretas sobre como você deve fazer isso, mas uma prática recomendada é separar os diferentes tipos de arquivos de solução em suas próprias subpastas.

  2. Crie um arquivo manifest.xml que liste os componentes da solução.

  3. Crie um arquivo .ddf que defina a estrutura do arquivo de solução. Esse arquivo contém a lista de arquivos de solução individuais que determinam o arquivo .wsp de saída.

  4. Execute Makecab.exe com o arquivo .ddf como entrada e o arquivo .wsp como saída.

Sobre o arquivo de manifesto de solução

O manifesto da solução (sempre chamado de manifest.xml) é armazenado na raiz de um arquivo de solução. Esse arquivo define a lista de Recursos, definições de site, arquivos de recurso, arquivos de Web Parts e assemblies a serem processados. Ele não define a estrutura do arquivo — se os arquivos forem incluídos em uma solução, mas não listados no arquivo manifest.xml, não serão processados.

Veja a seguir um exemplo de uma estrutura de um arquivo manifest.xml, mostrado em XML.

<?xml version="1.0" encoding="utf-8" ?>

<Solution xmlns="https://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

Além disso, você pode adicionar um elemento DwpFiles para especificar arquivos .webpart ou .dwp ou um elemento ResourceFiles para especificar arquivos de recurso, definições de site, recursos de aplicativo e diretivas de segurança de acesso do código.

Opcionalmente, faça anotações em seus arquivos Feature.xml files usando marcas <ElementFile>.

Se a sua solução contiver Recursos, na marca <ElementManifests> do arquivo Feature.xml, adicione <ElementFile Location="..."/> para todos os arquivos extras do recurso, como páginas ASP.NET (por exemplo, allitems.aspx) ou páginas mestras e assim por diante.

Para obter mais informações sobre arquivos de manifesto de solução que definem as partes constituintes de uma solução, consulte o artigo sobre esquema de solução (https://go.microsoft.com/fwlink/?linkid=183466&clcid=0x416).

Criando e implantando um pacote de solução de Web Part personalizado usando o Visual Studio 2010

Para obter um exemplo passo a passo que mostra como usar o Visual Studio 2010 para criar, personalizar, depurar e implantar uma definição de lista do SharePoint para acompanhar tarefas de projeto, consulte o roteiro passo a passo para a implantação de uma definição de lista de tarefas de projeto (https://go.microsoft.com/fwlink/?linkid=189612&clcid=0x416) na Biblioteca MSDN.

O roteiro passo a passo ilustra as seguintes tarefas:

  • Criação de um projeto de definição de lista do SharePoint que contém tarefas.

  • Adição da definição de lista a um Recurso do SharePoint.

  • Adição de um receptor de evento à lista.

  • Criação e personalização de um pacote do SharePoint para implantar seu Recurso.

  • Criação e implantação da solução do SharePoint.

Quando você cria o projeto de exemplo do roteiro passo a passo, o Visual Studio 2010 implanta automaticamente a solução no servidor que executa o SharePoint Foundation 2010 no computador de desenvolvimento, para fins de teste e depuração. Também é possível criar um arquivo de pacote de solução que pode ser adicionado e implantado em outro computador. Para obter mais informações, consulte o artigo sobre como implantar uma solução do SharePoint (https://go.microsoft.com/fwlink/?linkid=187004&clcid=0x416). É possível usar o cmdlet Add-SPSolution do Windows PowerShell para importar a solução para outro computador.

É possível usar a página Gerenciamento de Soluções na Administração Central para implantar o pacote de solução. Como alternativa, você pode usar o cmdlet Install-SPSolution do Windows PowerShell para implantar esse pacote.

No roteiro passo a passo, o escopo do recurso de lista de projetos é a Web. Para ativar o Recurso, no site, expanda o menu Ações de Site e clique em Configurações de Site. Em Ações de Site, clique em Gerenciar recursos do site. Na página Recursos, ao lado do nome do recurso, clique em Ativar.