Share via


Spécifications du développement de pipelines

Pour permettre la découverte et l'activation de segments de pipeline et de compléments, ces derniers doivent présenter les spécifications requises en matière de portée, d'attributs et de structure de répertoires.

Segments de pipeline et assemblys

Les compléments, contrats et vues doivent être publics. Les adaptateurs et leurs constructeurs peuvent être internes.

En général, les segments de pipeline sont contenus dans leur propre assembly, mais vous pouvez combiner les segments suivants dans le même assembly :

  • les vues hôtes des compléments et les vues côté complément ;

  • les adaptateurs côté hôte et les adaptateurs côté complément.

Vous pouvez combiner l'hôte et les adaptateurs côté complément dans le même assembly uniquement si vous combinez également les vues dans le même assembly.

Si vous combinez un segment d'un côté du pipeline avec son équivalent de l'autre côté du pipeline, tel que les vues hôtes de compléments avec les vues de compléments, vous devez, pour ce segment, déployer cet assembly sur les deux côtés du pipeline.

Si vous ne combinez pas de vues dans le même assembly, vous pouvez combiner l'hôte avec la vue hôte du complément dans le même assembly.

Spécifications des attributs

Les segments de pipeline suivants requièrent des attributs sur les classes qui les définissent :

La vue hôte du segment de pipeline du complément ne requiert aucun attribut parce que cet objet est passé à la méthode AddInStore.FindAddIns(Type, String, String[]), et ne doit pas être découvert.

L'illustration suivante présente les segments de pipeline avec leurs attributs requis.

Modèle de complément avec des attributs requis sur des types

Modèle de complément avec attributs requis sur les types.

Spécifications du répertoire du pipeline

Pour que le .NET Framework découvre des segments de pipeline et active des compléments, les segments de pipeline doivent être placés dans un répertoire spécifique. Les noms des répertoires spécifiés doivent être fournis, mais ne respectent pas la casse. Les seuls noms qui ne sont pas spécifiés sont celui du répertoire racine du pipeline (que vous fournissez aux méthodes de découverte) et ceux des sous-répertoire qui contiennent les compléments. Tous les noms de segments spécifiés doivent être des sous-répertoire se trouvant au même niveau à la racine du pipeline.

L'illustration suivante montre ces spécifications de répertoire.

Répertoires requis pour développement de compléments

Répertoires requis pour le développement du complément.

Le tableau suivant décrit la structure de répertoires requise.

Répertoire

Description

Racine du pipeline

Répertoire qui contient les sous-répertoires des segments de pipeline. Ce répertoire peut être associé à un nom et à un emplacement quelconques.

Par exemple : ..\Pipeline

AddIns

Facultatif. Répertoire qui contient un ou plusieurs sous-répertoires, chacun d'entre eux contenant un complément.

Ce répertoire doit s'appeler AddIns.

Par exemple : ..\Pipeline\AddIns

Vous pouvez avoir des compléments dans des répertoires différents sur votre système.

AddInSideAdapters

Répertoire qui contient l'assembly des adaptateurs côté complément.

Ce répertoire doit s'appeler AddInSideAdapters.

Par exemple : ..\Pipeline\AddInSideAdapters

AddInViews

Répertoire qui contient l'assembly de vues de complément.

Ce répertoire doit s'appeler AddInViews.

Par exemple : ..\Pipeline\AddInViews

Contracts

Répertoire qui contient l'assembly de contrats.

Ce répertoire doit s'appeler Contracts.

Par exemple : ..\Pipeline\Contracts

HostSideAdapters

Répertoire qui contient l'assembly des adaptateurs côté hôte.

Ce répertoire doit s'appeler HostSideAdapters.

Par exemple : ..\Pipeline\HostSideAdapters

Les méthodes AddInStore.Update et AddInStore.Rebuild ont des surcharges qui prennent une variable chaîne qui représente la racine de pipeline, ou une valeur PipelineStoreLocation. Ces méthodes découvrent les compléments et segments de pipeline disponibles dans le système et conservent leurs informations en cache dans une banque d'informations. Pour plus d'informations sur les méthodes de découverte, consultez Découverte de compléments.

L'application hôte et la vue hôte du segment de pipeline du complément sont habituellement déployées dans le même répertoire qui peut se trouver à un emplacement quelconque. L'application hôte requiert une référence à la vue hôte du segment du complément qui représente le complément à activer.

Le pipeline peut se trouver à un endroit quelconque, y compris dans la structure de répertoires de votre solution Visual Studio. Vous devez copier les segments de pipeline dans leurs répertoires dans le pipeline. Le répertoire de pipeline et ses sous-répertoires sont conçus pour contenir plusieurs pipelines. Pour plus d'informations sur les différents scénarios de pipeline, consultez Scénarios de pipelines de compléments.

Compléments à d'autres emplacements

Vous n'êtes pas tenu d'avoir des compléments dans la structure de répertoires du pipeline. S'ils ne sont pas dans la structure de répertoires du pipeline, vous devez appeler la méthode AddInStore.UpdateAddIns ou la méthode RebuildAddIns qui prend le chemin d'accès au répertoire contenant des compléments comme son paramètre.

Vous devez également inclure le paramètre addInPaths lors de l'appel de la méthode AddInStore.FindAddIns.

Si votre application hôte connaît les chemins d'accès et les noms de type complets de ses compléments, elle peut utiliser la méthode FindAddIn pour rechercher un complément spécifique et ainsi éviter des requêtes dans la structure de répertoires du pipeline. Toutefois, une structure de répertoires de pipeline est néanmoins requise.

Références à un segment de pipeline dans Visual Studio

Lors de l'ajout dans un projet d'une référence à un autre segment de pipeline, tel que l'adaptateur côté complément qui requiert une référence au segment de contrat, faites référence au projet de ce segment plutôt qu'à son assembly. Dans cet exemple, il est fait référence au projet du contrat. Une référence de projet empêche des assemblys référencés d'être déployé vers le pipeline, ce qui peut provoquer des conflits. En ne copiant pas les fichiers localement, les conflits sont également évités.

Pour ajouter une référence de projet

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossierReferences, puis cliquez sur Ajouter une référence.

  2. Dans l'onglet Projets, choisissez un projet et cliquez sur OK.

  3. Sous le dossier References, cliquez sur la référence de projet que vous venez d'ajouter.

  4. Dans la zone Propriétés de la référence, affectez à Copie locale la valeur False.

Références requises

Le tableau suivant répertorie les segments de pipeline qui requièrent des références d'assemblys à System.AddIn.dll et System.Contract.dll. Certains segments requièrent également des références à d'autres segments compilés.

Segment de pipeline

Assembly et références de projet

Espace de noms et références de type

Contrat

System.AddIn.dll

System.AddIn.Contract.dll

System.AddIn.Pipeline

System.AddIn.Contract

Vue de complément

System.AddIn.dll

System.AddIn.Pipeline

Adaptateur côté complément

System.AddIn.dll

System.AddIn.Contract.dll

Segment de vue de complément

Segment de contrat

System.AddIn.Pipeline

Adaptateur côté hôte

System.AddIn.dll

System.AddIn.Contract.dll

Segment de la vue hôte

Segment de contrat

System.AddIn.Pipeline

Hôte

System.AddIn.dll

Segment de la vue hôte

System.AddIn.Hosting

vue hôte

Complément

System.AddIn.dll

Segment de vue de complément

System.AddIn

vue de complément

La vue hôte du complément n'a pas de spécifications en termes de référence, mais elle est requise pour l'application hôte.

Déploiement vers le pipeline dans Visual Studio

Dans Visual Studio, vous pouvez générer des segments de pipeline dans la structure de répertoires du pipeline en modifiant le chemin de sortie de la génération.

Pour déployer sur le pipeline dans Visual Studio

  1. Dans le menu Outils, pointez vers Propriétés dans votre projet, puis sélectionnez l'onglet Générer.

  2. Modifiez le Chemin de sortie des segments de pipeline pour leur attribuer leurs répertoires respectifs dans la structure de répertoires du pipeline.

    L'application hôte et la vue hôte sont habituellement déployées dans le même répertoire. Le répertoire du pipeline peut résider à un emplacement quelconque, mais il se trouve habituellement dans le même répertoire que l'application hôte.

Voir aussi

Concepts

Contrats, vues et adaptateurs

Découverte de compléments

Développement de pipeline