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:
Um projeto de biblioteca de classe que implementa os comandos do SharePoint que são usados por sua extensão. Para uma explicação passo a passo que demonstra esse cenário, consulte Demonstra Passo a passo: Estendendo o Server Explorer para exibir Web Parts.
Um projeto de modelo de Item ou o modelo de projeto cria um modelo de item ou o modelo de projeto, se sua extensão define um novo tipo de item de projeto do SharePoint. Para uma explicação passo a passo que demonstra esse cenário, consulte Demonstra Passo a passo: A criação de um Item de projeto de ação personalizada com um modelo de Item, parte 1.
Um projeto de biblioteca de classe que implementa um assistente personalizado para um modelo de item ou o modelo de projeto, se sua extensão inclui um modelo. Para uma explicação passo a passo que demonstra esse cenário, consulte Demonstra Passo a passo: A criação de um Item de projeto de ação personalizada com um modelo de Item, parte 2.
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
No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.
No conteúdo seção do editor, clique na Adicionar conteúdo botão.
No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione MEF componente.
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.
Clique em OK.
Para incluir um conjunto de comando do SharePoint
No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.
No conteúdo seção do editor, clique na Adicionar conteúdo botão.
No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione Tipo de extensão personalizada.
No tipo de caixa de texto, digite SharePoint.Commands.v4. Esse valor é obrigatório para todos os assemblies que contêm comandos do SharePoint.
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.
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
No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.
No conteúdo seção do editor, clique na Adicionar conteúdo botão.
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.
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.
Clique em OK.
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.
Clique novamente com o botão direito no nó do projeto e clique em Editar YourTemplateProjectName**. csproj** ou Editar YourTemplateProjectName**. vbproj**.
Localize o seguinte VSTemplate o elemento no arquivo de projeto.
<VSTemplate Include="YourTemplateName.vstemplate">
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.
Salve e feche o arquivo.
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
No projeto VSIX, adicione uma nova pasta para o projeto que conterá o modelo.
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.
Em Solution Explorer, clique no arquivo de modelo (YourTemplateName. zip).
No Propriedades janela, defina a Build Action propriedade para conteúdo.
Clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.
No conteúdo seção do editor, clique na Adicionar conteúdo botão.
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.
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.
Clique em OK.
Para incluir um Assistente para um modelo de projeto ou de um modelo de item
No projeto VSIX, clique duas vezes no arquivo source.extension.vsixmanifest para abrir o arquivo no designer.
No conteúdo seção do editor, clique na Adicionar conteúdo botão.
No Adicionar conteúdo na caixa de Selecione um tipo de conteúdo caixa de listagem, selecione Assistente de modelo.
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.
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 |
Uma extensão que inclui comandos do SharePoint |
Demonstra Passo a passo: Estendendo o Server Explorer para exibir Web Parts |
Uma extensão que inclui um modelo de Visual Studio |
|
Uma extensão que inclui um Assistente de modelo |
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:
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).
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.
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