Partilhar via


Configurar suplementos hospedados pelo provedor do SharePoint para distribuição

Esta página explica problemas que podem surgir ao compartilhar um suplemento hospedado pelo provedor do SharePoint com outros desenvolvedores ou ao obter uma cópia de um sistema de controle de origem, como Team Foundation Server, Git ou Visual Studio Team Services.

Todos os suplementos hospedados pelo provedor do SharePoint criados usando o Visual Studio incluem um pacote NuGet que adiciona código específico do SharePoint e referências ao aplicativo Web que serve como RemoteWeb para o suplemento do SharePoint.

O pacote NuGet adicionado ao projeto de aplicativo Web pelas Ferramentas de Desenvolvedor do Office no Visual Studio não está presente no registro de pacotes NuGet e, portanto, tenta executar uma falha na restauração do pacote NuGet porque não consegue encontrar um pacote correspondente.

Entenda o problema

As Ferramentas de Desenvolvedor do Office para Visual Studio, versão 12.0.31105, adiciona um pacote NuGet aos aplicativos Web criados como suplementos hospedados pelo provedor RemoteWeb para SharePoint. Este pacote, o App for SharePoint Web Toolkit, adiciona os seguintes itens ao projeto Web:

  • Assemblies e referências aos assemblies CSOM (modelo de objeto do lado do cliente) do SharePoint.
  • O arquivo de código TokenHelper.cs que ajuda no processo de autenticação para suplementos.
  • O arquivo de código SharePointContext.cs que ajuda na criação e manutenção de um contexto do SharePoint no aplicativo Web.

A maneira como o Visual Studio funciona é que ele, ou suplementos, normalmente contêm uma cópia local do pacote NuGet para que os desenvolvedores nem sempre precisem estar conectados à Internet para baixar os pacotes NuGet. O pacote que as ferramentas incluem tem uma ID do AppForSharePoint16WebToolkit.

Quando os projetos são comprometidos com o controle de origem, normalmente os pacotes não são incluídos como parte do commit porque podem adicionar muitas demandas extras de espaço de armazenamento e aumentar desnecessariamente o tamanho de um pacote ao compartilhá-lo com outros desenvolvedores. Portanto, uma das primeiras tarefas que os desenvolvedores fazem após obter uma cópia do projeto do controle de origem é executar a restauração do pacote NuGet.

O desafio é que um pacote com a mesma ID não existe no registro de pacote NuGet; não há nenhum pacote com uma ID do AppForSharePoint16WebToolkit. Em vez disso, o mesmo pacote foi adicionado ao registro de pacote NuGet como AppForSharePointWebToolkit (observe a falta do 16 na ID).

Preparar um projeto de suplemento hospedado pelo provedor para controle e distribuição de origem

Até que as Ferramentas de Desenvolvedor do Office para Visual Studio sejam atualizadas para corrigir esse problema, recomendamos que você altere o projeto antes de se comprometer com o sistema de controle de origem, independentemente de você estar usando o Team Foundation Server, Visual Studio Team Services, Git ou qualquer outra solução.

Depois de criar o projeto, procure no arquivo packages.config do projeto e pesquise um pacote com uma ID do AppForSharePoint16WebToolkit. A maneira mais segura de atualizar o projeto é desinstalar e reinstalar o pacote.

Abra o Console do Gerenciador de Pacotes no Visual Studio e insira o seguinte para desinstalar o pacote:

  PM> Uninstall-Package -Id AppForSharePoint16WebToolkit

Observação

Se a desinstalação gerar um erro sobre não encontrar o pacote, basta remover a referência do pacote do arquivo packages.config manualmente e salvar suas alterações.

Agora, instale a versão pública do mesmo pacote NuGet do registro público:

  PM> Install-Package -Id AppForSharePointWebToolkit

Confira também