Condividi tramite


Requisiti di sviluppo delle pipeline

Per poter essere individuati e attivati, i segmenti delle pipeline e i componenti aggiuntivi devono soddisfare i requisiti relativi all'ambito, agli attributi e alla struttura di directory specificati.

Assembly e segmenti di pipeline

I componenti aggiuntivi, i contratti e le visualizzazioni devono essere pubblici. Gli adattatori e i relativi costruttori possono essere interni.

In genere, i segmenti delle pipeline sono contenuti all'interno del rispettivo assembly. È tuttavia possibile combinare nello stesso assembly i segmenti seguenti:

  • Visualizzazioni host di componenti aggiuntivi e visualizzazioni sul lato del componente aggiuntivo.

  • Adattatori sul lato host e adattatori sul lato del componente aggiuntivo.

È possibile combinare gli adattatori sul lato host e quelli sul lato del componente aggiuntivo solo se si combinano anche le visualizzazioni nello stesso assembly.

Se si combina un segmento su uno lato della pipeline con la controparte sull'altro lato della pipeline, ad esempio le visualizzazioni host di componenti aggiuntivi con le visualizzazioni di componenti aggiuntivi, è necessario distribuire l'assembly su entrambi i lati della pipeline per tale segmento.

Se le visualizzazioni non vengono combinate nello stesso assembly, è possibile combinare l'host con la visualizzazione host del componente aggiuntivo nello stesso assembly.

Requisiti relativi agli attributi

Nei segmenti di pipeline seguenti sono richiesti attributi che definiscono le classi:

La visualizzazione host del segmento della pipeline di componenti aggiuntivi non richiede alcun attributo in quanto tale oggetto viene passato al metodo AddInStore.FindAddIns(Type, String, String[]), pertanto non deve essere individuato.

Nell'illustrazione riportata di seguito vengono mostrati i segmenti di pipeline con i rispettivi attributi obbligatori.

Modello di componente aggiuntivo con attributi obbligatori sui tipi

Modello di componente aggiuntivo con gli attributi obbligatori per i tipi

Requisiti relativi alla directory della pipeline

Per consentire l'individuazione dei segmenti di pipeline e l'attivazione dei componenti aggiuntivi mediante .NET Framework, è necessario inserire i segmenti della pipeline in una directory specificata. I nomi di directory specificati sono obbligatori ma non fanno distinzione tra maiuscole e minuscole. Gli unici nomi non specificati sono il nome della directory radice della pipeline (che viene specificata per i metodi di individuazione) e i nomi delle sottodirectory contenenti i componenti aggiuntivi. Tutti i nomi di segmento specificati devono essere sottodirectory allo stesso livello al di sotto della radice della pipeline.

Nell'illustrazione riportata di seguito vengono mostrati i requisiti di directory appena descritti.

Directory obbligatorie per lo sviluppo dei componenti aggiuntivi

Directory obbligatorie per lo sviluppo di componenti aggiuntivi

Nella tabella riportata di seguito viene descritta la struttura di directory obbligatoria.

Directory

Descrizione

Radice della pipeline

Directory contenente le sottodirectory dei segmenti di pipeline. Questa directory può avere qualsiasi nome e trovarsi in qualsiasi percorso.

Esempio: ..\Pipeline

AddIns

Facoltativo. Directory contenente una o più sottodirectory, contenenti ognuna un componente aggiuntivo.

A tale directory è necessario assegnare il nome AddIns.

Esempio: ..\Pipeline\AddIns

I componenti aggiuntivi possono trovarsi anche in altri percorsi del sistema.

AddInSideAdapters

Directory contenente l'assembly di adattatori sul lato del componente aggiuntivo.

A tale directory è necessario assegnare il nome AddInSideAdapters.

Esempio: ..\Pipeline\AddInSideAdapters

AddInViews

Directory contenente l'assembly di visualizzazioni dei componenti aggiuntivi.

A tale directory è necessario assegnare il nome AddInViews.

Esempio: ..\Pipeline\AddInViews

Contracts

Directory contenente l'assembly dei contratti.

A tale directory è necessario assegnare il nome Contracts.

Esempio: ..\Pipeline\Contracts

HostSideAdapters

Directory contenente l'assembly di adattatori sul lato host.

A tale directory è necessario assegnare il nome HostSideAdapters.

Esempio: ..\Pipeline\HostSideAdapters

I metodi AddInStore.Update e AddInStore.Rebuild che ne eseguono l'overload accettano una variabile di stringa che rappresenta la radice della pipeline o un valore PipelineStoreLocation. Questi metodi consentono di individuare i componenti aggiuntivi e i segmenti di pipeline disponibili nel sistema, nonché gestire le informazioni memorizzate nella cache in un archivio informazioni. Per ulteriori informazioni sui metodi di individuazione, vedere Individuazione di componenti aggiuntivi.

L'applicazione host e la visualizzazione host del segmento della pipeline di componenti aggiuntivi vengono in genere distribuiti nella stessa directory, che può trovarsi in qualsiasi percorso. L'applicazione host richiede un riferimento alla visualizzazione host del segmento del componente aggiuntivo che rappresenta il componente aggiuntivo da attivare.

La pipeline può trovarsi in qualsiasi percorso, incluso all'interno della struttura di directory della soluzione Visual Studio. È necessario copiare i segmenti di pipeline nelle rispettive directory all'interno della pipeline. La directory della pipeline e le relative sottodirectory sono state progettate per poter contenere più pipeline. Per ulteriori informazioni sui diversi scenari delle pipeline, vedere Scenari con pipeline di componenti aggiuntivi.

Componenti aggiuntivi in altri percorsi

Non è necessario che i componenti aggiuntivi siano contenuti nella struttura di directory della pipeline. Se non si trovano in tale struttura, è necessario chiamare il metodo AddInStore.UpdateAddIns o RebuildAddIns che accetta il percorso della directory contenente i componenti aggiuntivi come parametro.

Quando si chiama il metodo AddInStore.FindAddIns, è necessario includere anche il parametro addInPaths.

Se l'applicazione host riconosce i percorsi e i nomi di tipo completi dei relativi componenti aggiuntivi, può utilizzare il metodo FindAddIn per individuare uno specifico componente aggiuntivo, in modo da evitare query sulla struttura di directory della pipeline. È tuttavia obbligatorio specificare una struttura di directory della pipeline.

Riferimenti ai segmenti di pipeline in Visual Studio

Quando in un progetto si aggiunge un riferimento a un altro segmento di pipeline, ad esempio l'adattatore sul lato del componente aggiuntivo che richiede un riferimento al segmento di contratto, è necessario inserire un riferimento al progetto del segmento anziché al relativo assembly. In questo esempio il riferimento sarebbe al progetto del contratto. Un riferimento al progetto impedisce che gli assembly a cui si fa riferimento vengano distribuiti alla pipeline, generando in questo modo possibili conflitti. È possibile evitare conflitti anche non copiando i file in locale.

Per aggiungere un riferimento a un progetto

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti e scegliere Aggiungi riferimento.

  2. Nella scheda Progetti scegliere il progetto desiderato e fare clic su OK.

  3. Nella cartella Riferimenti fare clic sul riferimento al progetto appena aggiunto.

  4. Nel riferimento Proprietà impostare Copia localmente su False.

Riferimenti obbligatori

Nella tabella riportata di seguito sono elencati i segmenti di pipeline che richiedono riferimenti ad assembly per System.AddIn.dll e System.Contract.dll. Alcuni segmenti richiedono anche riferimenti ad altri segmenti compilati.

Segmento di pipeline

Riferimenti ad assembly e progetti

Riferimenti a spazi dei nomi e tipi

Contratto

System.AddIn.dll

System.AddIn.Contract.dll

System.AddIn.Pipeline

System.AddIn.Contract

Visualizzazione del componente aggiuntivo

System.AddIn.dll

System.AddIn.Pipeline

Adattatore sul lato componente aggiuntivo

System.AddIn.dll

System.AddIn.Contract.dll

Segmento di visualizzazione del componente aggiuntivo

Segmento di contratto

System.AddIn.Pipeline

Adattatore sul lato host

System.AddIn.dll

System.AddIn.Contract.dll

Segmento di visualizzazione host

Segmento di contratto

System.AddIn.Pipeline

Host

System.AddIn.dll

Segmento di visualizzazione host

System.AddIn.Hosting

visualizzazione host

Componente aggiuntivo

System.AddIn.dll

Segmento di visualizzazione del componente aggiuntivo

System.AddIn

visualizzazione del componente aggiuntivo

La visualizzazione host del componente aggiuntivo non presenta requisiti di riferimento ma è obbligatoria per l'applicazione host.

Distribuzione alla pipeline in Visual Studio

In Visual Studio è possibile compilare segmenti di pipeline nella struttura di directory della pipeline modificando il percorso di compilazione di output.

Per eseguire la distribuzione alla pipeline in Visual Studio

  1. Dal menu Strumenti scegliere le Proprietà del progetto, quindi selezionare la scheda Compila.

  2. Modificare il Percorso output dei segmenti di pipeline con le rispettive directory nella struttura di directory della pipeline.

    L'applicazione host e la visualizzazione host vengono generalmente distribuite nella stessa directory. La directory della pipeline può trovarsi in qualsiasi percorso ma in genere corrisponde alla directory dell'applicazione host.

Vedere anche

Concetti

Contratti, visualizzazioni e adattatori

Individuazione di componenti aggiuntivi

Sviluppo pipeline