Implantar extensões para as ferramentas do SharePoint em Visual Studio

Para implantar uma extensão de ferramentas do SharePoint, criar um Visual Studio que contém o conjunto de extensão de pacote de extensão (VSIX) e outros arquivos que você deseja distribuir com extensão. Um pacote VSIX é um arquivo compactado que segue o padrão Open Packaging Conventions (OPC). Pacotes VSIX têm a extensão de .vsix.

Depois de criar um pacote VSIX, outros usuários possam executar o arquivo de .vsix para instalar a sua extensão. Quando um usuário instala sua extensão, todos os arquivos são instalados na pasta %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions. Para implantar a extensão, você pode carregar o pacote de VSIX a Galeria de Visual Studio site da Web, ou você pode distribuir o pacote para seus clientes por outros meios, como, por exemplo, o pacote em um compartilhamento de rede ou algum outro site de hospedagem.

Para obter mais informações sobre a criação de pacotes VSIX e implantá-los para o Galeria de Visual Studio, consulte VSIX Deployment.

Você pode criar um pacote VSIX usando o O projeto de VSIX modelo de Visual Studio, ou você pode criar um pacote VSIX manualmente.

Usando projetos VSIX para criar pacotes VSIX

Você pode usar o O projeto de VSIX modelo fornecido pela Visual Studio 2010 SDK para criar pacotes VSIX para extensões de ferramentas do SharePoint. Usando um projeto VSIX oferece várias vantagens sobre a criação de um pacote VSIX manualmente:

  • Visual Studio gera automaticamente o pacote VSIX quando você constrói o projeto. Tarefas como, por exemplo, adicionando os arquivos de implantação para o pacote e criando o arquivo [Content_Types]. XML para o pacote são feitas para você.

  • Você pode configurar o projeto VSIX para incluir a saída de construção do seu projeto de extensão e outros arquivos, como, por exemplo, modelos de projeto e modelos de item, o pacote VSIX.

Para obter mais informações sobre como usar um projeto VSIX, consulte Walkthrough: How to Publish a Visual Studio Extension.

Organizando seus projetos.

Por padrão, os projetos VSIX geram somente pacotes VSIX, não os assemblies. Portanto, você normalmente não implementa uma extensão de ferramentas do SharePoint em um projeto VSIX. Você costuma trabalhar com pelo menos dois projetos:

  • Um projeto VSIX.

  • Um projeto de biblioteca de classe que implementa a sua extensão.

Você pode também trabalhar com projetos adicionais para determinados tipos de extensões:

Se você incluir todos os projetos na mesma solução Visual Studio, você pode modificar o arquivo source.extension.vsixmanifest no projeto VSIX para incluir a saída de compilação dos projetos de biblioteca de classe.

Editando o manifesto VSIX

Você deve editar o arquivo source.extension.vsixmanifest no projeto VSIX para incluir entradas para todos os itens que você deseja incluir na sua extensão. Quando você edita o arquivo source.extension.vsixmanifest, Visual Studio abre o arquivo em um designer que fornece uma interface do usuário para edição no arquivo XML. Para obter mais informações, consulte VSIX Manifest Designer.

Você deve adicionar entradas ao arquivo source.extension.vsixmanifest para os seguintes itens:

  • O assembly de extensão.

  • O assembly que implementa os comandos do SharePoint que são usados por sua extensão.

  • Quaisquer modelos de projeto ou modelos de item que estão associados a sua extensão.

  • Um assistente personalizado para um modelo que está associado a sua extensão.

Os procedimentos a seguir descrevem como adicionar entradas ao arquivo .vsixmanifest para cada um desses itens.

Para incluir o assembly de extensão

  1. No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.

  2. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  3. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione MEF componente.

  4. Em Selecionar uma fonte de, execute uma das seguintes etapas:

    • Se o assembly de extensão é criado a partir de um projeto que está na mesma solução, como o projeto VSIX, clique na projeto botão de opção e selecione o nome do projeto na caixa de listagem ao lado.

    • Se o assembly de extensão está incluído como um arquivo em seu projeto, clique na arquivo no projeto botão de opção e selecione o assembly em que a caixa de listagem.

    • Se o assembly de extensão está localizado em algum outro local, clique no arquivo botão de opção e, em seguida, use o Escolher arquivo caixa de diálogo para localizar e selecionar o assembly.

  5. Clique em OK.

Para incluir um conjunto de comando do SharePoint

  1. No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.

  2. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  3. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione Tipo de extensão personalizada.

  4. No tipo de caixa de texto, digite SharePoint.Commands.v4. Esse valor é obrigatório para todos os assemblies que contêm comandos do SharePoint.

  5. Em Selecionar uma fonte de, execute uma das seguintes etapas:

    • Se o conjunto de comando é criado a partir de um projeto que está na mesma solução, como o projeto VSIX, clique na projeto botão de opção e selecione o nome do projeto de comando na caixa de listagem ao lado.

    • Se o conjunto de comando é incluído como um arquivo em seu projeto, clique na arquivo no projeto botão de opção e selecione o assembly em que a caixa de listagem.

    • Se o conjunto de comando está localizado em algum outro local, clique no arquivo botão de opção e, em seguida, use o Escolher arquivo caixa de diálogo para localizar e selecionar o assembly.

  6. Clique em OK.

Para incluir um modelo que você criar usando um projeto de modelo de projeto ou Item de modelo do SDK do Visual Studio

  1. No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.

  2. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  3. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione O modelo de projeto ou Modelo de Item.

  4. Em Selecionar uma fonte de, clique na projeto botão de opção e selecione o nome do projeto na caixa de listagem ao lado.

  5. Clique em OK.

  6. Em Solution Explorer, o botão direito do mouse no nó do projeto do modelo de projeto ou modelo de Item e clique em Unload Project.

  7. Clique novamente com o botão direito no nó do projeto e clique em Editar YourTemplateProjectName**. csproj** ou Editar YourTemplateProjectName**. vbproj**.

  8. Localize o seguinte VSTemplate o elemento no arquivo de projeto.

    <VSTemplate Include="YourTemplateName.vstemplate">
    
  9. Substituir VSTemplate elemento com o XML a seguir.

    <VSTemplate Include="YourTemplateName.vstemplate">
      <OutputSubPath>SharePoint\SharePoint14</OutputSubPath>
    </VSTemplate>
    

    O OutputSubPath elemento Especifica as pastas adicionais no caminho em que o modelo de projeto é criado quando você constrói o projeto. As pastas especificadas aqui garantem que o modelo de item estará disponível somente quando os clientes cliquem o 2010 nó sob o SharePoint nó a Add New Project caixa de diálogo.

  10. Salve e feche o arquivo.

  11. Em Solution Explorer, o botão direito do mouse o projeto do modelo de projeto ou modelo de Item e clique em Reload Project.

Para incluir um modelo que você cria manualmente

  1. No projeto VSIX, adicione uma nova pasta para o projeto que conterá o modelo.

  2. Sob essa nova pasta, crie as seguintes subpastas e, em seguida, adicione o arquivo de modelo (. zip) para o Identificação de localidade pasta.

         YourTemplateFolder

              SharePoint

                   SharePoint14

                        Identificação de localidade

                             YourTemplateName. zip

    Por exemplo, se você tiver um modelo de item chamado ContosoCustomAction.zip que suporta a localidade do inglês (Estados Unidos), o caminho completo pode ser ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.

  3. Em Solution Explorer, clique no arquivo de modelo (YourTemplateName. zip).

  4. No Propriedades janela, defina a Build Action propriedade para conteúdo.

  5. Clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.

  6. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  7. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione Modelo de Item ou O modelo de projeto.

  8. Em Selecionar uma fonte de, clique na arquivo no projeto botão de opção e, em seguida, selecione o caminho completo do modelo em que a caixa de listagem. Por exemplo, ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.

  9. Clique em OK.

Para incluir um Assistente para um modelo de projeto ou de um modelo de item

  1. No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.

  2. No conteúdo seção do editor, clique na Adicionar conteúdo botão.

  3. No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione Assistente de modelo.

  4. Em Selecionar uma fonte de, execute uma das seguintes etapas:

    • Se o Assistente de assembly é criado a partir de um projeto que está na mesma solução, como o projeto VSIX, clique na projeto botão de opção e selecione o nome do projeto na caixa de listagem ao lado.

    • Se o assembly do assistente é incluído como um arquivo em seu projeto, clique na arquivo no projeto botão de opção e selecione o assembly em que a caixa de listagem.

    • Se o Assistente de assembly está localizado em algum outro local, clique no arquivo botão de opção e, em seguida, use o Escolher arquivo caixa de diálogo para localizar e selecionar o assembly.

  5. Clique em OK.

Orientações relacionadas

A tabela a seguir lista as explicações passo a passo demonstra como usar um projeto VSIX para implantar diferentes tipos de extensões de ferramentas do SharePoint.

Tipo de extensão

Orientações relacionadas

Uma extensão que inclui somente o assembly de extensão

Demonstra Passo a passo: Estendendo um tipo de Item de projeto do SharePoint

Demonstra Passo a passo: Criando uma extensão de projeto do SharePoint

Demonstra Passo a passo: A chamada para o modelo de objeto do cliente do SharePoint em uma extensão do Server Explorer

Uma extensão que inclui comandos do SharePoint

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

Demonstra Passo a passo: Estendendo o Server Explorer para exibir Web Parts

Demonstra Passo a passo: A criação de um Item de projeto da coluna de Site com um modelo de projeto, parte 2

Uma extensão que inclui um modelo de Visual Studio

Demonstra Passo a passo: A criação de um Item de projeto de ação personalizada com um modelo de Item, parte 1

Demonstra Passo a passo: A criação de um Item de projeto da coluna de Site com um modelo de projeto, parte 1

Uma extensão que inclui um Assistente de modelo

Demonstra Passo a passo: A criação de um Item de projeto de ação personalizada com um modelo de Item, parte 2

Demonstra Passo a passo: A criação de um Item de projeto da coluna de Site com um modelo de projeto, parte 2

A criação manual de pacotes VSIX

Se você quiser criar manualmente o pacote VSIX para sua extensão de ferramentas do SharePoint, execute as seguintes etapas:

  1. Crie o arquivo extension.vsixmanifest, o. XML [Content_Types] e o VSIX pacote arquivo (.vsix). Para obter mais informações, consulte Anatomy of a VSIX Package e How to: Manually Package an Extension (VSIX Deployment).

  2. Adicione seu assembly de extensão para o pacote VSIX. Se sua extensão inclui um comando do SharePoint, também adicione o assembly que implementa o comando do SharePoint para o pacote VSIX.

  3. Modifique o arquivo extension.vsixmanifest:

    • Adicionar um MefComponent elemento sob o Content elemento. Defina o valor de elemento para o caminho relativo do assembly que implementa a sua extensão no pacote VSIX. Para obter mais informações, consulte MEFComponent Element (VSX Schema).

    • Se sua extensão inclui um comando do SharePoint que chama o modelo de objeto do SharePoint server, adicionar um novo CustomExtension elemento sob o Content elemento. Defina o valor do elemento para o caminho relativo do assembly que implementa o comando do SharePoint no pacote de VSIX e defina a Type atributo para o valor SharePoint.Commands.v4. Para obter mais informações, consulte CustomExtension Element (VSX Schema).

    • Se sua extensão inclui um modelo de projeto ou de um modelo de item, adicionar um novo ProjectTemplate ou ItemTemplate elemento sob o Content elemento. Defina o valor de elemento para o caminho relativo da pasta que contém o modelo no pacote VSIX. Para obter mais informações, consulte ProjectTemplate Element (VSX Schema) e ItemTemplate Element (VSX Schema).

    • Se sua extensão inclui um assistente personalizado para um modelo de projeto ou de um modelo de item, adicionar um novo Assembly elemento sob o Content elemento. Defina o valor do elemento para o caminho relativo do assembly do pacote de VSIX e defina a AssemblyName de atributo do nome de assembly completo (incluindo a versão, cultura e token de chave pública). Para obter mais informações, consulte Assembly Element (VSX Schema).

Exemplo

O exemplo a seguir mostra o conteúdo de um arquivo de extension.vsixmanifest para uma extensão de ferramentas do SharePoint. A extensão é implementada em um assembly denominado Contoso.ProjectExtension.dll. A extensão inclui um conjunto de comando do SharePoint denominado Contoso.ExtensionCommands.dll e um modelo de item em uma pasta chamada ItemTemplates no pacote VSIX. Este exemplo assume que ambos os assemblies estão na mesma pasta que o arquivo extension.vsixmanifest no pacote VSIX.

<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
      Version="1.0.0" xmlns="https://schemas.microsoft.com/developer/vsx-schema/2010">
  <Identifier Id="CustomActionProjectItem.Contoso.b1d75407-01bd-459d-9d04-d12e9113af49">
    <Name>Custom Action Project Item</Name>
    <Author>Contoso</Author>
    <Version>1.0</Version>
    <Description xml:space="preserve">A SharePoint project item that represents a custom action.</Description>
    <Locale>1033</Locale>
    <SupportedProducts>
      <VisualStudio Version="10.0">
        <Edition>Pro</Edition>
      </VisualStudio>
    </SupportedProducts>
    <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
  </Identifier>
  <References />
  <Content>
    <MefComponent>Contoso.ProjectExtension.dll</MefComponent>
    <CustomExtension Type="SharePoint.Commands.v4">Contoso.ExtensionCommands.dll</CustomExtension>
    <ItemTemplate>ItemTemplates</ItemTemplate>
  </Content>
</Vsix>

Consulte também

Conceitos

Estendendo o sistema de projeto do SharePoint

A chamada para os modelos de objeto do SharePoint

Outros recursos

Estendendo o nó de conexões do SharePoint no Server Explorer

A depuração de extensões para as ferramentas do SharePoint em Visual Studio