Compartilhar via


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 2010, você pode começar implementando uma ou mais interfaces de extensibilidade que são expostos pelo SharePoint ferramentas. Na maioria dos casos, você também usar outros tipos fornecidos pelas ferramentas do SharePoint para implementar recursos em sua extensão. Em alguns cenários, você também pode usar tipos em outros modelos de objeto fornecidos pelo Visual Studio e o SharePoint. Você deve compreender a finalidade de cada um desses modelos de objeto e saber como usá-los entre si para criar extensões para as ferramentas do SharePoint.

Estender as ferramentas de SharePoint por meio da implementação de Interfaces de extensibilidade

Visual Studio usa o Managed Extensibility Framework (MEF) na.NET Framework 4, para fornecer o modelo de extensibilidade para as ferramentas do SharePoint. MEF é uma API (implementada no assembly System.ComponentModel.Composition) que permite que os aplicativos para expor os pontos de extensibilidade descobrir e carregam extensões em tempo de execução. Para obter mais informações sobre o MEF, consulte Visão geral sobre estrutura de extensibilidade gerenciada.

Para estender as ferramentas do SharePoint, implemente uma ou mais interfaces de extensibilidade que são expostos por Visual Studio. Você também deve aplicar o System.ComponentModel.Composition.ExportAttribute, e atributos de ferramentas específicas do SharePoint adicional conforme necessário, para sua implementação de interface. A tabela a seguir lista as interfaces que você pode implementar para estender as ferramentas do SharePoint.

Interface

Descrição

ISharePointProjectItemTypeProvider

Implemente esta interface para definir um novo tipo de item de projeto do SharePoint. Para um exemplo, consulte Como: Definir um tipo de Item de projeto do SharePoint.

ISharePointProjectItemTypeExtension

Implemente essa interface para estender um tipo de item de projeto do SharePoint já está instalado em Visual Studio. Para um exemplo, consulte Como: Criar uma extensão de Item de projeto do SharePoint.

ISharePointProjectExtension

Implemente essa interface para estender os projetos do SharePoint. Para um exemplo, consulte Como: Criar uma extensão de projeto do SharePoint.

IDeploymentStep

Implemente essa interface para definir uma nova etapa de implantação que pode ser executada quando um item de projeto do SharePoint é implantado ou cancelado. Para um exemplo, consulte Demonstra Passo a passo: A criação de uma etapa de implantação personalizado para projetos do SharePoint.

IExplorerNodeTypeExtension

Implementar essa interface para estender um nó existente na sharepoint Connections nó a Server Explorer janela. Para um exemplo, consulte Como: Estender um nó do SharePoint no Server Explorer.

IExplorerNodeTypeProvider

Implementar essa interface para definir um novo tipo de nó sob o sharepoint Connections nó a Server Explorer janela. Para um exemplo, consulte Como: Estender um nó do SharePoint no Server Explorer.

IFeatureValidationRule

Implemente essa interface para definir uma regra de validação de recurso personalizado. Para um exemplo, consulte Como: Criar regras de validação de pacote e de recurso de personalizar soluções do SharePoint.

IPackageValidationRule

Implemente essa interface para definir uma regra de validação de pacote personalizado. Para um exemplo, consulte Como: Criar regras de validação de pacote e de recurso de personalizar soluções do SharePoint.

Após implementar uma extensão das ferramentas do SharePoint, você deve implantar o assembly de extensão em um pacote de extensão (VSIX) Visual Studio para habilitar o Visual Studio descobrir e carregar a extensão. Para obter mais informações, consulte Implantar extensões para as ferramentas do SharePoint em Visual Studio.

Noções básicas sobre os modelos de objeto que você pode usar nas extensões de ferramentas do SharePoint

Existem vários modelos de objeto, que você pode usar ao criar extensões para as ferramentas do SharePoint:

  • Modelo de objeto SharePoint ferramentas. O modelo de objeto fornece as interfaces de extensibilidade que implementam para criar extensões de ferramentas do SharePoint e outros tipos relacionados.

  • Modelos de objeto de automação e integração Visual Studio do. Use esses modelos de objeto para acessar os recursos de Visual Studio que estão além do escopo do modelo de objeto do SharePoint ferramentas.

    ObservaçãoObservação

    Você pode converter alguns objetos no modelo de objeto do SharePoint ferramentas para objetos de automação de Visual Studio e modelos de objeto de integração 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.

  • Os modelos de objeto de servidor e cliente do SharePoint. Use esses modelos de objeto para modificar um site do SharePoint ou para recuperar dados de um site do SharePoint no contexto de uma extensão de ferramentas do SharePoint.

Modelo de objeto do SharePoint ferramentas

Cada extensão de ferramentas do SharePoint usa tipos no modelo de objeto do SharePoint ferramentas para definir o comportamento de núcleo e a funcionalidade da extensão. A tabela a seguir descreve os namespaces que estão incluídos neste modelo de objeto.

Assembly

Namespace

Descrição

Microsoft.VisualStudio.SharePoint.dll

Microsoft.VisualStudio.SharePoint

Contém tipos que podem ser usados para estender e automatizar o sistema de projeto do SharePoint. Por exemplo, você pode estender a projetos internos do SharePoint e itens de projeto, ou você pode criar seus próprios itens de projeto. Para obter mais informações, consulte Estendendo o sistema de projeto do SharePoint.

Microsoft.VisualStudio.SharePoint.Deployment

Contém tipos que podem ser usados para estender o processo de implantação para projetos do SharePoint, como, por exemplo, criar suas próprias etapas de implantação e as configurações de implantação. Para obter mais informações, consulte Implantação e estendendo empacotamento do SharePoint.

Microsoft.VisualStudio.SharePoint.Explorer

Contém tipos que podem ser usados para estender a nós sob o sharepoint Connections nó a Server Explorer janela, 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.

Microsoft.VisualStudio.SharePoint.Features

Contém tipos que você usa para acessar as definições de recurso em um projeto do SharePoint.

Microsoft.VisualStudio.SharePoint.Packages

Contém tipos que você usa para acessar a definição do pacote em uma solução do SharePoint.

Microsoft.VisualStudio.SharePoint.Validation

Contém tipos que podem ser usados para personalizar o comportamento de validação de pacote e o recurso para projetos do SharePoint. Para obter mais informações, consulte Como: Criar regras de validação de pacote e de recurso de personalizar soluções do SharePoint.

Microsoft.VisualStudio.SharePoint.Commands.dll

Microsoft.VisualStudio.SharePoint.Commands

Contém tipos que você pode usar para criar personalizado comandos do SharePoint. Um comando do SharePoint é um método que chama o modelo de objeto de servidor do SharePoint a partir 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

Microsoft.VisualStudio.SharePoint.Explorer.Extensions

Contém tipos que você pode usar para obter informações sobre interno Server Explorer nós que representam os componentes individuais em um site do SharePoint, como, por exemplo, 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 de Visual Studio

O modelo de objeto de automação Visual Studio fornece APIs que você pode usar para automatizar projetos de Visual Studio e o IDE. Use o modelo de objeto Visual Studio para executar tarefas relacionadas ao projeto que não são específicas para projetos do SharePoint ou executar outras tarefas de automação geral em Visual Studio. Tradicionalmente, o modelo de objeto geralmente é usado em Visual Studio os suplementos e macros, mas você também pode usá-lo nas extensões de ferramentas do SharePoint.

A parte principal do modelo de objeto de automação de Visual Studio é definida no assembly EnvDTE.dll. Funcionalidade adicional que foi introduzida em 2005 de Visual Studio, Visual Studio de 2008 e 2010 de Visual Studio é fornecida por assemblies EnvDTE80.dll, EnvDTE90.dll e EnvDTE100.dll. Esses assemblies incluídos com o Visual Studio 2010.

Para obter mais informações sobre o modelo de objeto de automação, consulte Estendendo o ambiente Visual Studio e Automação e referência a extensibilidade.

Modelo de objeto de integração de Visual Studio

O modelo de objeto de integração fornece APIs que você pode usar para adicionar recursos para Visual Studio, criando uma VSPackage. Um VSPackage é um módulo que estende o IDE de Visual Studio, fornecendo recursos personalizados, como janelas de ferramentas, editores, designers, serviços e projetos.

Se você quiser adicionar um novo recurso de Visual Studio será usado com as ferramentas internas do SharePoint, você pode usar o modelo de objeto de integração. Por exemplo, se você criar um item de projeto personalizado do SharePoint que representa uma ação personalizada para um site do SharePoint, você também pode criar um VSPackage que implementa um designer para a ação personalizada. Você pode associar o designer ação personalizada, adicionando um item de menu de contexto para o item de projeto que representa a ação personalizada em Solution Explorer. Os desenvolvedores podem com o botão direito no item de projeto de ação personalizada para abrir o designer.

O modelo de objeto é definido em um conjunto de módulos (assemblies) que estão incluídos no SDK do Visual Studio. Alguns dos principais assemblies nesse modelo de objeto incluem Microsoft.VisualStudio.Shell.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 Visual Studio Development Environment Model e Visual Studio SDK Reference.

Modelos de objeto do SharePoint

Extensões de ferramentas do SharePoint podem usar APIs do SharePoint para modificar um site do SharePoint ou para recuperar dados de um site do SharePoint. Microsoft SharePoint Foundation 2010e Microsoft SharePoint Server 2010 fornecer dois modelos de objeto diferente: um modelo de objeto do servidor e um modelo de objeto do cliente.

Você pode usar as APIs em qualquer modelo de objeto em uma extensão de ferramentas do SharePoint, mas cada modelo de objeto tem algumas vantagens e desvantagens no contexto das 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 do servidor fornece acesso a todos os recursos de Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010 expõe programaticamente. O modelo de objeto foi projetado para ser usado por soluções do SharePoint que são executados no servidor do SharePoint. A maioria desse modelo de objeto é definida no assembly Microsoft.SharePoint.dll. Para obter mais informações sobre o modelo de objeto do servidor, consulte usando o modelo de objeto de servidor do SharePoint Foundation.

Modelo de objeto do cliente

O modelo de objeto do cliente é um subconjunto do modelo de objeto do servidor pode ser usado para interoperar com dados de um cliente remoto ou servidor do SharePoint. Ele foi projetado para minimizar o número de idas e vindas que deve ser executado para realizar tarefas comuns. A maior parte do modelo de objeto do cliente é definida em assemblies Microsoft.SharePoint.Client.dll e Microsoft.SharePoint.Client.Runtime.dll. Para obter mais informações sobre o modelo de objeto do cliente, consulte Modelo de objeto do cliente gerenciado.

Consulte também

Conceitos

A chamada para os modelos de objeto do SharePoint

Visual Studio Development Environment Model

Usando o serviço de projeto do SharePoint

Outros recursos

Estender as ferramentas do SharePoint em Visual Studio

Histórico de alterações

Date

History

Motivo

Maio de 2010

Adicionados novos detalhes sobre as interfaces MEF expostos pelo modelo de objeto SharePoint ferramentas.

Aprimoramento de informações.