Requisitos de desenvolvimento de pipeline
Para ativar a segmentos de tubulação e suplementos a serem descobertos e ativado, devem atender às escopo especificado, atributo e requisitos de estrutura de diretório.
Segmentos de tubulação e assemblies
Os suplementos, contratos e modos de exibição devem ser públicos.Adaptadores e seus construtores podem ser internos.
Normalmente, pipeline segmentos estão contidos em seu próprio assembly, mas você pode agrupar os seguintes segmentos no mesmo assembly:
Modos de exibição de suplemento s do host e suplemento-modos de exibição de lado.
Adaptadores do host e suplemento-adaptadores de lado.
Você pode agrupar o host e suplemento-lateral adaptadores no mesmo assembly somente se você também agrupar os modos de exibição no mesmo conjunto de módulos (assembly).
Se você agrupar um segmento em um lado do pipeline com seu correspondente no Outros lado do pipeline, sistema autônomo sistema autônomo exibições do host de suplementos com modos de exibição suplemento, você deve implantar o assembly a ambos sistema autônomo lados da pipeline para esse segmento.
Se você não é combinando exibições no mesmo conjunto de módulos (assembly), você pode agrupar o host com o modo de exibição do host a suplemento no mesmo assembly.
Requisitos de atributo
Os seguintes segmentos de pipeline requerem atributos nas classes de definem-los:
Add-ins requerem AddInAttribute.
Contratos exigem AddInContractAttribute.
Suplemento modos de exibição exigem AddInBaseAttribute.
suplemento-lado adaptadores exigem AddInAdapterAttribute.
Adaptadores do host exigem HostAdapterAttribute.
Exibição de host do suplemento pipeline segmento não requer um atributo porque esse objeto é passado para o AddInStore.FindAddIns(Type, String, array<String[]) método e portanto não precisa ser descoberto.
A ilustração a seguir mostra os segmentos de pipeline com os atributos necessários.
Modelo de suplemento com atributos necessários em tipos
Requisitos do pipeline diretório
O .NET Framework Para descobrir os segmentos de tubulação e ativar suplementos, os segmentos de tubulação devem ser colocados em um diretório especificado. Os nomes de diretório especificado são necessários mas não fazem distinção entre diferenciar diferenciar maiúsculas de minúsculas.Os únicos nomes que não estiverem especificados são o nome do diretório raiz pipeline (que você forneça para os métodos de descoberta) e os nomes de subpastas que contêm os suplementos.Todos os nomes de segmento especificado devem ser subdiretórios no mesmo nível na raiz do pipeline.
A ilustração a seguir mostra esses requisitos de diretório.
Diretórios necessários para o desenvolvimento de um suplemento
A tabela a seguir descreve a estrutura de diretório necessário.
Diretório |
Descrição |
---|---|
Raiz do pipeline |
O diretório que contém as subpastas dos segmentos de pipeline.Não há nenhum nome necessário para este diretório e pode ser em qualquer local. Exemplo: ..\Pipeline |
AddIns |
Opcional.O diretório que contém um ou mais subpastas, cada qual contendo um suplemento. Este diretório deve ser nomeado AddIns. Exemplo: ..\Pipeline\AddIns Você pode ter suplementos em outros locais no sistema. |
AddInSideAdapters |
O diretório que contém o suplemento-conjunto de adaptadores de lado. Este diretório deve ser nomeado AddInSideAdapters. Exemplo: ..\Pipeline\AddInSideAdapters |
AddInViews |
O diretório que contém os modos de exibição do suplemento assembly. Este diretório deve ser nomeado AddInViews. Exemplo: ..\Pipeline\AddInViews |
Contratos |
O diretório que contém os contratos assembly. Este diretório deve ser nomeado Contratos. Exemplo: ..\Pipeline\Contracts |
HostSideAdapters |
O diretório que contém o conjunto de adaptadores do host. Este diretório deve ser nomeado HostSideAdapters. Exemplo: ..\Pipeline\HostSideAdapters |
The AddInStore.Update e AddInStore.Rebuild métodos têm sobrecargas que utilizam uma variável de seqüência que representa a raiz do pipeline, ou um PipelineStoreLocation valor. Esses métodos Descubra suplementos disponível e segmentos no sistema de pipeline e mantêm suas informações armazenadas em cache no armazenamento de informações.Para obter mais informações sobre os métodos de detecção, consulte Descoberta de suplemento.
O aplicativo host e o visão do complemento do host segmento de pipeline são normalmente implantados no mesmo diretório que pode ser em qualquer local.O aplicativo host requer uma referência para a exibição do host do segmento suplemento que representa o add-in para ativar.
O pipeline pode estar em qualquer local, incluindo dentro da estrutura de diretório de sua solução do Visual Studio.Você deve copiar os segmentos de tubulação a seus diretórios no pipeline.O diretório de pipeline e seus subdiretórios foram projetados para conter vários canais.Para obter mais informações sobre vários cenários de tubulações, consulte Suplemento cenários de pipeline.
Suplementos em outros locais
Não é necessário ter suplementos a estrutura de diretório do pipeline.Se não estiverem na estrutura do diretório de pipeline, você deve chamar o AddInStore.UpdateAddIns método ou a RebuildAddIns método que usa o caminho para o diretório que contém de suplementos sistema autônomo seu parâmetro.
Você também deve incluir o addInPaths parâmetro ao chamar o AddInStore.FindAddIns método.
Se o aplicativo host conhece os caminhos e os nomes de tipo completo de seus suplementos, ele pode usar o FindAddIn método para localizar um suplemento específico, que evita consultas sobre a estrutura de diretório do pipeline. No entanto, uma estrutura de diretórios do pipeline ainda é necessária.
Referências de segmento de pipeline no Visual Studio
Ao adicionar uma referência em um projeto a um outro segmento de pipeline, sistema autônomo o adaptador no lado do suplemento requer uma referência ao segmento de contrato, fazer uma referência a projeto desse segmento instead of seu assembly.Neste exemplo, a referência seria o projeto do contrato.Uma referência de projeto impede que os assemblies referenciados de sendo implantado no pipeline, que pode causar conflitos.Conflitos também são impedidos, não copie os arquivos localmente.
Para adicionar uma referência de projeto
In O gerenciador de soluções, clicar com o botão direito do mouse o Referências pasta e escolher Adicionar referência.
Sobre o Projetos guia, escolher o projeto desejado e clicar OK.
Sob o Referências pasta, clicar na referência de projeto que você acabou de adicionar.
A referência Propriedades, conjunto Copiar local to False.
Referências necessárias
A tabela a seguir lista os segmentos de pipeline que exigem referências de assembly sistema.AddIn.dll e sistema.contrato.dll.Alguns segmentos também exigem referências a outros segmentos compilados.
Segmento de pipeline |
Assembly e referências de projeto |
Referências do namespace e tipo |
---|---|---|
Contrato |
sistema.AddIn.dll sistema.AddIn.contrato.dll |
sistema.AddIn.Pipeline sistema.AddIn.contrato |
exibição de suplemento |
sistema.AddIn.dll |
sistema.AddIn.Pipeline |
adaptador no lado do suplemento |
sistema.AddIn.dll sistema.AddIn.contrato.dll Segmento de suplemento do modo de exibição Segmento de contrato |
sistema.AddIn.Pipeline |
Adaptador do host |
sistema.AddIn.dll sistema.AddIn.contrato.dll Segmento de modo de exibição de host Segmento de contrato |
sistema.AddIn.Pipeline |
Host |
sistema.AddIn.dll Segmento de modo de exibição de host |
sistema.AddIn.Hosting exibição do host |
Suplemento |
sistema.AddIn.dll Segmento de suplemento do modo de exibição |
sistema.AddIn exibição de suplemento |
A exibição do host do suplemento não possui referência requisitos, mas é necessária para o aplicativo host.
Implantação para o pipeline no Visual Studio
In Visual Studio, você pode criar segmentos de tubulação na estrutura de diretório de pipeline, alterando o caminho de compilação de saída.
Para implantar o pipeline no Visual Studio
From a Ferramentas , aponte para Propriedades e, em seguida, selecionar o Compilação guia.
Alterar o Caminho de saída para os segmentos de tubulação a seus respectivos diretórios na estrutura do diretório de pipeline.
O aplicativo host e o modo de exibição de host são normalmente implantados no mesmo diretório.O diretório de pipeline pode ser em qualquer local, mas é normalmente no mesmo diretório do aplicativo host.