Visão geral do modelo de programação de extensões de ferramentas do SharePoint
Quando você cria uma extensão para as ferramentas do SharePoint no Visual Studio, você inicia implementando uma ou mais interfaces de extensibilidade que são expostos pelas ferramentas do SharePoint.Em a maioria dos casos, você também irá usar outros tipos fornecidos pelas ferramentas do SharePoint para recursos de implementar em sua extensão.Em alguns cenários você também pode usar tipos em outros modelos de objeto fornecidos pelo Visual Studio e pelo SharePoint.Você deve compreender a finalidade de cada um de esses modelos de objeto e como usá-los um com o outro para criar extensões para as ferramentas do SharePoint.
Estendendo as ferramentas do SharePoint implementando interfaces de extensibilidade
O Visual Studio usa a estrutura gerenciada (MEF) de extensibilidade no .NET Framework 4 para fornecer o modelo de extensibilidade para as ferramentas do SharePoint.O MEF é implementado no API (assembly) de System.ComponentModel.Composition que permite que aplicativos expor pontos de extensibilidade e descobrir em tempo de execução e carregar extensões.Para obter mais informações sobre o MEF, consulte Managed Extensibility Framework (MEF).
Para estender as ferramentas do SharePoint, implementar uma ou mais interfaces de extensibilidade que são expostos pelo Visual Studio.Você também deve aplicar System.ComponentModel.Composition.ExportAttribute, e atributos específicos de ferramentas adicionais do SharePoint, conforme necessário para sua implementação da interface.A tabela a seguir lista as interfaces que você pode implementar para estender as ferramentas do SharePoint.
Interface |
Descrição |
---|---|
Implementar essa interface para definir um novo tipo de item de projeto do SharePoint.Para ver um exemplo, consulte Como: definir um tipo de Item de projeto do SharePoint. |
|
Implementar essa interface para estender um tipo de item de projeto do SharePoint que já está instalado no Visual Studio.Para ver um exemplo, consulte Como: criar uma extensão de Item de projeto do SharePoint. |
|
Implementar essa interface para estender projetos do SharePoint.Para ver um exemplo, consulte Como: criar uma extensão de projeto do SharePoint. |
|
Implementar essa interface para definir uma nova etapa de implantação que pode ser executada quando um item de projeto do SharePoint é implantado ou retraído.Para ver um exemplo, consulte Passo a passo: Criando uma etapa de implantação personalizado para projetos do SharePoint. |
|
Implementar essa interface para estender um nó existente no nó de Conexões do SharePoint na janela de Gerenciador de Servidores .Para ver um exemplo, consulte Como: estender um nó do SharePoint no Server Explorer. |
|
Implementar essa interface para definir um novo tipo de nó sob o nó de Conexões do SharePoint na janela de Gerenciador de Servidores .Para ver um exemplo, consulte Como: estender um nó do SharePoint no Server Explorer. |
|
Implementar essa interface para definir uma regra de validação de recurso personalizado.Para ver um exemplo, consulte Como: criar regras de validação de pacote e de recurso personalizado para soluções do SharePoint. |
|
Implementar essa interface para definir uma regra de validação personalizada de pacote.Para ver um exemplo, consulte Como: criar regras de validação de pacote e de recurso personalizado para soluções do SharePoint. |
Depois que você implementa uma extensão de ferramentas do SharePoint, você deve implantar o assembly de extensão em um pacote de extensão (Visual Studio) VSIX para ativar o Visual Studio para descobrir e carregar a extensão.Para obter mais informações, consulte Implantação de extensões para as ferramentas de SharePoint no Visual Studio.
Entender os modelos de objeto que você usa no SharePoint faz uso de ferramentas extensões
Há vários modelos de objeto que você pode usar quando você cria extensões para as ferramentas do SharePoint:
Modelo de objeto de ferramentas do SharePoint.Este modelo de objeto fornece interfaces de extensibilidade que você implemente para criar extensões de ferramentas do SharePoint, e outros tipos relacionados.
Modelos de objeto de automação e de integração do Visual Studio.Use esses modelos de objeto para acessar os recursos do Visual Studio que são além do escopo do modelo de objeto de ferramentas do SharePoint.
Observação Você pode converter alguns objetos no modelo de objeto de ferramentas do SharePoint para objetos nos modelos de objeto de automação e de integração do Visual Studio, e vice-versa, usando o serviço de projeto do SharePoint.Para obter mais informações, consulte Conversão entre tipos de sistema do projeto do SharePoint e outros tipos de projeto de Visual Studio.
Modelos de objeto de servidor do SharePoint e de cliente.Use esses modelos de objeto para alterar um site web do SharePoint ou para recuperar dados de um site web do SharePoint o contexto de uma extensão de ferramentas do SharePoint.
Modelo de objeto de ferramentas do SharePoint
Cada o SharePoint utiliza usa ferramentas de extensão no modelo de objeto de ferramentas do SharePoint para definir o comportamento principal e a funcionalidade de extensão.A tabela a seguir descreve os namespaces que são incluídas em esse modelo de objeto.
Assembly |
Namespace |
Descrição |
---|---|---|
Microsoft.VisualStudio.SharePoint.dll |
Contém tipos que você usa para estender e automatizam o sistema do projeto do SharePoint.Por exemplo, você pode estender os projetos do SharePoint e os itens interno do projeto, ou você pode criar seus próprios itens de projeto.Para obter mais informações, consulte Estendendo o sistema de projeto do SharePoint. |
|
Contém tipos que você usa para estender o processo de implantação de projetos do SharePoint, como a criação de seus próprios passos de implantação e configurações de implantação.Para obter mais informações, consulte Implantação e estendendo empacotamento do SharePoint. |
||
Contém tipos que você usa para estender nós sob o nó de Conexões do SharePoint na janela de Gerenciador de Servidores , ou para definir novos tipos de nós.Para obter mais informações, consulte Estendendo o nó de conexões do SharePoint no Server Explorer. |
||
Contém tipos que você usa para acessar as definições de recursos em um projeto do SharePoint. |
||
Contém tipos que você usa para acessar a definição de pacote em uma solução do SharePoint. |
||
Contém tipos que você usa para personalizar o comportamento de validação de recurso e de pacote para projetos do SharePoint.Para obter mais informações, consulte Como: criar regras de validação de pacote e de recurso personalizado para soluções do SharePoint. |
||
Microsoft.VisualStudio.SharePoint.Commands.dll |
Contém tipos que você pode usar para criar comandos do SharePoint personalizados.Um comando do SharePoint é um método que chama no modelo de objeto de servidor do SharePoint de uma extensão de ferramentas do SharePoint.Para obter mais informações, consulte A chamada para os modelos de objeto do SharePoint. |
|
Microsoft.VisualStudio.SharePoint.Explorer.Extensions.dll |
Contém tipos que você pode usar para obter informações sobre os nós internos de Gerenciador de Servidores que representam componentes individuais em um site da web do SharePoint, como um nó que representa uma lista, um campo, ou um tipo de conteúdo.Para obter mais informações, consulte Estendendo o nó de conexões do SharePoint no Server Explorer. |
Modelo de objeto de automação do Visual Studio
O modelo de objeto de automação Visual Studio fornece APIs que você pode usar para automatizar projetos do Visual Studio e o IDE.Use o modelo de objeto do Visual Studio para executar tarefas relacionadas com que não são específicas para projetos do SharePoint, ou para executar outra automação gerais de tarefas no Visual Studio.Tradicionalmente, este modelo de objeto é geralmente usado em suplementos do Visual Studio e em macros, mas você também pode usá-lo em extensões de ferramentas do SharePoint.
A parte principal do modelo de objeto de automação Visual Studio é definida no assembly de EnvDTE.dll.Assemblies de EnvDTE80.dll, de EnvDTE90.dll, de EnvDTE100.dll, e de EnvDTE110.dll fornecem funcionalidade adicional que foi introduzida no Visual Studio 2005, no Visual Studio 2008, no Visual Studio 2010, e em Visual Studio 2012, respectivamente.Esses assemblies são incluídos com o Visual Studio.
Para obter mais informações sobre o modelo de objeto de automação, consulte Estendendo o ambiente de Visual Studio e Automação e extensibilidade referência.
Modelo de objeto de integração do Visual Studio
O modelo de objeto de integração fornece APIs que você pode usar para adicionar recursos ao Visual Studio criando um VSPackage.Um VSPackage é um módulo que estende o IDE do Visual Studio fornecendo recursos personalizados como o windows, editores, designer, serviços, e projetos de ferramenta.
Você pode usar o modelo de objeto de integração se você deseja adicionar um novo recurso do Visual Studio que é usado com ferramentas internos do SharePoint.Por exemplo, se você criar um item de projeto personalizado do SharePoint que representa uma ação personalizada para um site da web do SharePoint, você também pode criar um VSPackage que implementa um designer para a ação personalizada.Você pode associar o designer com a ação personalizada adicionando um item de menu de atalho para o item de projeto que representa a ação personalizada em Gerenciador de Soluções.Você pode abrir o designer abrindo o menu de atalho (clique com o botão direito no item de projeto personalizado de ação ou escolhendo o e então escolha das teclas SHIFT + de F10) e então escolha Abrir.
Este modelo de objeto é definido em um conjunto de módulos que são incluídos com o Visual Studio SDK.Alguns dos assemblies principais em esse modelo de objeto incluem Microsoft.VisualStudio.Shell.11.0.dll, Microsoft.VisualStudio.Shell.Interop.dll, e Microsoft.VisualStudio.OLE.Interop.dll.
Para obter mais informações sobre o modelo de objeto de integração, consulte Modelo de ambiente de desenvolvimento de Visual Studio e Referência do SDK Visual Studio.
Modelos de objeto do SharePoint
As extensões de ferramentas do SharePoint podem usar APIs do SharePoint para alterar um site web do SharePoint ou para recuperar dados de um site web do SharePoint.Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010 fornecem dois modelos de objeto diferentes: um modelo de objeto do servidor e um modelo de objeto de cliente.
Você pode usar APIs em qualquer modelo de objeto em uma extensão de ferramentas do SharePoint, mas cada modelo de objeto tem alguns benefícios e inconvenientes no contexto de extensões de ferramentas do SharePoint.Para obter mais informações, consulte A chamada para os modelos de objeto do SharePoint.
modelo de objeto |
Descrição |
---|---|
Modelo de objeto do servidor |
O modelo de objeto de servidor fornece acesso a todos os recursos que Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010 programaticamente expõem.Este modelo de objeto é projetado para ser usado pelas soluções do SharePoint que executam no servidor do SharePoint.A maioria de esse modelo de objeto é definida no assembly de Microsoft.SharePoint.dll.Para obter mais informações sobre o modelo de objeto de servidor, consulte Usando o modelo de objeto do Lado de base do SharePoint. |
Modelo de objeto de cliente |
O modelo de objeto de cliente é um subconjunto do modelo de objeto do servidor que pode ser usado para interoperar com dados do SharePoint de um cliente remoto ou de um servidor.É criado para minimizar o número de processamentos que devem ser executadas para executar tarefas comuns.A maior parte do modelo de objeto de cliente é definida em conjuntos de Microsoft.SharePoint.Client.dll e de Microsoft.SharePoint.Client.Runtime.dll.Para obter mais informações sobre o modelo de objeto de cliente, consulte Modelo de objeto gerenciado de cliente. |
Consulte também
Conceitos
A chamada para os modelos de objeto do SharePoint
Modelo de ambiente de desenvolvimento de Visual Studio
Usando o serviço de projeto do SharePoint