Implantação de extensões para as ferramentas de SharePoint no Visual Studio
Para implantar ferramentas o SharePoint utiliza a extensão, cria um pacote de extensão de Visual Studio (VSIX) que contém o assembly de extensão e todos os outros arquivos que você deseja distribuir com a extensão.Um conjunto de VSIX é um arquivo compactado que segue o padrão de empacotamento de abertura de (OPC) das convenções.Pacotes de VSIX têm a extensão de .vsix.
Depois de criar um conjunto de VSIX, outros usuários podem executar o arquivo de .vsix para instalar sua extensão.Quando um usuário instala sua extensão, todos os arquivos estão instalados na pasta %UserProfile%\AppData\Local\Microsoft\VisualStudio\11.0\Extensions.Para implantar a extensão, você pode carregar o conjunto Galeria do Visual Studio de VSIX ao site, ou você pode distribuir o pacote para seus clientes por algum outro meio, como hospedar o pacote em um compartilhamento de rede ou em qualquer outro site.
Para obter mais informações sobre como criar pacotes de VSIX e implanta do Galeria do Visual Studio, consulte Implantação de VSIX.
Você pode criar um conjunto de VSIX usando o modelo de projeto de VSIX no Visual Studio, ou você pode criar um conjunto de VSIX manualmente.
usando projetos de VSIX criar pacotes de VSIX
Você pode usar o modelo de projeto de VSIX fornecido pelo Visual Studio SDK para criar pacotes de VSIX para extensões de ferramentas do SharePoint.Usar um projeto de VSIX fornece várias vantagens sobre a criação de um conjunto de VSIX manualmente:
O Visual Studio gera automaticamente o conjunto de VSIX quando você criar o projeto.As tarefas como adicionar arquivos ao pacote de implantação e a criação do arquivo .xml [] Content_Types de para o pacote são feitas para você.
Você pode configurar o projeto de VSIX incluir a saída da compilação do projeto de extensão e outros arquivos, como modelos de projeto e de item, no pacote de VSIX.
Para obter mais informações sobre como usar um projeto de VSIX, consulte Modelo de projeto VSIX.
organizando seus projetos
Por padrão, os projetos de VSIX geram somente pacotes de VSIX, não assemblies.Portanto, você normalmente não implementa uma extensão de ferramentas do SharePoint em um projeto de VSIX.Geralmente você trabalha com pelo menos dois projetos:
um projeto de VSIX.
Um projeto de biblioteca de classe que implementa sua extensão.
Você também pode trabalhar com projetos adicionais para certos tipos de extensões:
Um projeto de biblioteca de classe que implementa todos 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 Passo a passo: Estendendo o Server Explorer para exibir Web Parts.
Um projeto do modelo de item ou do modelo de projeto que criar um modelo de item ou 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 Passo a passo: Criando 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 modelo de projeto, se sua extensão inclui um modelo.Para uma explicação passo a passo que demonstra esse cenário, consulte Passo a passo: Criando 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 do Visual Studio, você pode modificar o arquivo de source.extension.vsixmanifest no projeto de VSIX incluir a saída de compilação de projetos de biblioteca de classes.
editando o manifesto de VSIX
Você deve editar o arquivo de source.extension.vsixmanifest no projeto de VSIX incluir entradas para todos os itens que você deseja incluir em sua extensão.Quando você abre o arquivo de source.extension.vsixmanifest do menu de atalho, o arquivo aparecerá em um designer que fornece uma interface de usuário para edição no arquivo XML.Para obter mais informações, consulte Designer de manifesto do VSIX.
Você deve adicionar entradas no arquivo de source.extension.vsixmanifest para os seguintes itens:
O assembly de extensão.
O assembly que implementa todos os comandos do SharePoint que são usados por sua extensão.
Alguns projetos os modelos ou modelos de item que estão associados com a extensão.
Um assistente personalizado para um modelo que está associado com a extensão.
Os procedimentos a seguir descrevem como adicionar entradas no arquivo de .vsixmanifest para cada um de esses itens.
Para incluir o assembly de extensão
Em o projeto de VSIX, abra o menu de atalho para o arquivo de source.extension.vsixmanifest, e então escolha Abrir.
O arquivo é aberto no designer
Em a guia de Ativos do editor, escolha o botão de Novo .
a caixa de diálogo de adicionar o novo recurso abre.
Em a lista de Tipo , escolha Microsoft.VisualStudio.MefComponent.
Em a lista de Origem , execute uma das seguintes etapas:
Se o assembly de extensão é compilado de um projeto que está na mesma solução que o projeto de VSIX, escolha Um projeto na solução atual.Em a lista de Projeto , escolha o nome do projeto.
Se o assembly de extensão é incluído como um arquivo em seu projeto, escolha Arquivo no sistema de arquivos.Em a lista de Caminho , digite o caminho completo do arquivo do assembly de extensão, ou use o botão de Procurar para localizar e escolha o arquivo do assembly.
Escolha o botão OK.
Para incluir um assembly de comando do SharePoint
Em o projeto de VSIX, abra o menu de atalho para o arquivo de source.extension.vsixmanifest, e então escolha o botão de Abrir .
O arquivo é aberto no designer.
Em a seção de Ativos do editor, escolha o botão de Novo .
a caixa de diálogo de adicionar o novo recurso abre.
Em a caixa de Tipo , entre em SharePoint.Commands.v4.
Em a lista de Origem , execute uma das seguintes etapas:
Se o assembly de comando é compilado de um projeto que está na mesma solução que o projeto de VSIX, escolha Um projeto na solução atual.Em a lista de Projeto , escolha o nome do projeto.
Se o assembly de comando é incluído como um arquivo em seu projeto, escolha Arquivo no sistema de arquivos.Em a lista de Caminho , digite o caminho completo do arquivo do assembly de extensão, ou use o botão de Procurar para localizar e escolha o arquivo do assembly.
Escolha o botão OK.
para incluir um modelo que você crie
Em o projeto de VSIX, abra o menu de atalho para o arquivo de source.extension.vsixmanifest, e então escolha o botão de Abrir .
O arquivo é aberto no designer.
Em a seção de Ativos do editor, escolha o botão de Novo .
a caixa de diálogo de adicionar o novo recurso abre.
Em a lista de Tipo , escolha Microsoft.VisualStudio.ProjectTemplate ou Microsoft.VisualStudio.ItemTemplate.
Em a lista de Origem , escolha Um projeto na solução atual.
Em a lista de Projeto , escolha o nome do projeto, e clique no botão de OK .
Em Gerenciador de Soluções, abra o menu de atalho para seu projeto de modelo de projeto ou do modelo de item, e então escolha Descarregar projeto.
Abra o menu de atalho para o nó de projeto novamente, e então escolha EditarYourTemplateProjectName**.csproj** ou EditarYourTemplateProjectName**.vbproj**.
Localize o elemento de VSTemplate no arquivo de projeto.
<VSTemplate Include="YourTemplateName.vstemplate">
Substitua o elemento com o seguinte XML.
<VSTemplate Include="YourTemplateName.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>
O elemento de OutputSubPath especifica pastas adicionais em com que o modelo de projeto é criado quando você compila o projeto.As pastas especificadas aqui garantem que o modelo de item está disponível apenas quando clientes abre a caixa de diálogo de Adicionar novo projeto , expanda o nó de SharePoint , e escolha no nó de 2010 .
Salve e feche o arquivo.
Em Gerenciador de Soluções, abra o menu de atalho para o projeto do modelo de projeto ou modelo de item, e então escolha Recarregar projeto.
Para incluir um modelo que você criar manualmente
Em o projeto de VSIX, adicione uma nova pasta para o projeto conter o modelo.
Em essa nova pasta, crie as seguintes subpastas em seguida, adicione o arquivo de modelo .zip () para a pasta de ID local .
YourTemplateFolder
O SharePoint
SharePoint14
ID local
YourTemplateName.zip
Por exemplo, se você tiver um modelo de item chamado ContosoCustomAction.zip que suporta a localidade inglês (EUA) locale, o caminho completo poderia ser ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.
Em Gerenciador de Soluções, escolha o arquivo de modelo .zipYourTemplateName().
Em a janela de Propriedades , defina a propriedade de Ação de Compilação a Conteúdo.
Abra o menu de atalho para o arquivo de source.extension.vsixmanifest, e então escolha Abrir.
O arquivo é aberto no designer.
Em a seção de Ativos do editor, escolha o botão de Novo .
a caixa de diálogo de adicionar o novo recurso abre.
Em a lista de Tipo , escolha Microsoft.VisualStudio.ItemTemplate ou Microsoft.VisualStudio.ProjectTemplate.
Em a lista de Origem , escolha Arquivo no sistema de arquivos.
No campo Caminho, digite o caminho completo para o assembly (por exemplo, ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip, ou usando o botão Procurar para localizar e escolha o assembly, e clique no botão OK.
Para incluir um assistente para um modelo de projeto ou modelo de item
Em o projeto de VSIX, abra o menu de atalho para o arquivo de source.extension.vsixmanifest, e então escolha Abrir.
O arquivo é aberto no designer.
Em a seção de Ativos do editor, escolha o botão de Novo .
a caixa de diálogo de adicionar o novo recurso abre.
Em a lista de Tipo , escolha Microsoft.VisualStudio.Assembly.
Em a lista de Origem , execute uma das seguintes etapas:
Se o assembly do assistente é compilado de um projeto que está na mesma solução que o projeto de VSIX, escolha Um projeto na solução atual.Em a lista de Projeto , escolha o nome do projeto.
Se o assembly do assistente está incluído como um arquivo em seu projeto, escolha Arquivo no sistema de arquivos.Em o campo de Caminho , digite o caminho completo do arquivo do assembly, ou use o botão de Procurar para localizar e escolha o assembly.
Escolha o botão OK.
Passo a passo relacionados
A tabela a seguir lista orientações que demonstram como usar um projeto de VSIX implantar tipos diferentes das extensões de ferramentas do SharePoint.
Tipo de extensão |
Passo a passo relacionados |
---|---|
Uma extensão que inclua somente o assembly de extensão |
Passo a passo: Estendendo um tipo de Item de projeto do SharePoint Passo a passo: Criando uma extensão de projeto do SharePoint |
Uma extensão que inclui comandos do SharePoint |
Passo a passo: Criando uma etapa de implantação personalizado para projetos do SharePoint Passo a passo: Estendendo o Server Explorer para exibir Web Parts Passo a passo: Criando um Item de projeto de coluna do Site com um modelo de projeto, parte 2 |
Uma extensão que inclui um modelo Visual Studio |
Passo a passo: Criando um Item de projeto de ação personalizada com um modelo de Item, parte 1 Passo a passo: Criando um Item de projeto de coluna do Site com um modelo de projeto, parte 1 |
Uma extensão que inclui um assistente de modelo |
Passo a passo: Criando um Item de projeto de ação personalizada com um modelo de Item, parte 2 Passo a passo: Criando um Item de projeto de coluna do Site com um modelo de projeto, parte 2 |
criando pacotes de VSIX manualmente
Se você deseja criar manualmente o conjunto de VSIX para o SharePoint faz uso de ferramentas a extensão, executa as seguintes etapas:
Crie o arquivo de extension.vsixmanifest [], Content_Types o .xml, e o arquivo de pacote de VSIX (arquivo de .vsix).Para obter mais informações, consulte Anatomia de um pacote VSIX e Como: manualmente empacotar uma extensão (implantação de VSIX).
Adicione o conjunto de extensão o pacote de VSIX.Se sua extensão inclui um comando do SharePoint, também adicionar o assembly que implementa o comando do SharePoint para o conjunto de VSIX.
Modifique o arquivo de extension.vsixmanifest:
Adicione um elemento de Microsoft.VisualStudio.MefComponent no elemento de Assets , e defina o valor do novo elemento ao caminho relativo do assembly que implementa sua extensão no conjunto de VSIX.Para obter mais informações, consulte MefComponent Element.
Se sua extensão inclui um comando do SharePoint que chama no modelo de objeto do servidor para o SharePoint, adicione um elemento de Microsoft.VisualStudio.Assembly no elemento de Assets .Defina o valor do novo elemento ao caminho relativo do assembly que implementa o comando do SharePoint no pacote de VSIX.Para obter mais informações, consulte Elemento de ativos (esquema VSX).
Se sua extensão inclui um modelo de projeto ou modelo de item, adicione um elemento de ProjectTemplate ou de ItemTemplate no elemento de Assets .Defina o valor do novo elemento ao caminho relativo da pasta que contém o modelo no pacote de VSIX.Para obter mais informações, consulte ProjectTemplate Element e ItemTemplate Element.
Se sua extensão inclui um assistente personalizado para um modelo de projeto ou modelo de item, adicione um elemento de Assembly no elemento de Assets .Defina o valor do novo elemento ao caminho relativo de assembly no pacote de VSIX, e defina o nome do atributo de AssemblyName ao máximo (incluindo a versão, cultura, e o símbolo de chave pública).Para obter mais informações, consulte Elemento de dependência (esquema VSX).
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 que é chamado Contoso.ProjectExtension.dll.A extensão inclui um conjunto de comando do SharePoint que é chamado Contoso.ExtensionCommands.dll e um modelo de item em uma pasta que é chamada ItemTemplates no pacote de VSIX.Este exemplo assume que ambos os conjuntos de módulos (assemblies) estão na mesma pasta que o arquivo de extension.vsixmanifest no pacote de VSIX.
<PackageManifest Version=”2.0.0” xmlns=”https://schemas.microsoft.com/developer/vsx-schema/2011”>
<Metadata>
<Identity Id="CustomActionProjectItem.Microsoft.b99efe4d-cef3-4afd-b9af-034ca0c52743" Version="1.0" Language="en-US" Publisher="Microsoft" />
<DisplayName>CustomActionProjectItem</DisplayName>
<Description>Empty VSIX Project.</Description>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="11.0" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="4.5" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.ItemTemplate" Path="ItemTemplates" />
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="ProjectItemDefinition.dll" />
</Assets>
</PackageManifest>
Consulte também
Conceitos
Estendendo o sistema de projeto do SharePoint
A chamada para os modelos de objeto do SharePoint
Depuração de extensões para as ferramentas do SharePoint em Visual Studio
Outros recursos
Estendendo o nó de conexões do SharePoint no Server Explorer