Freigeben über


Anforderungen für die Pipelineentwicklung

Damit Pipelinesegmente und Add-Ins ermittelt und aktiviert werden können, müssen sie bestimmte Voraussetzungen im Hinblick auf Umfang, Attribute und Verzeichnisstruktur erfüllen.

Pipelinesegmente und Assemblys

Die Add-Ins, Verträge und Ansichten müssen öffentlich sein. Adapter und ihre Konstruktoren können intern sein.

Pipelinesegmente sind normalerweise in ihrer eigenen Assembly enthalten, Sie können jedoch folgende Segmente in derselben Assembly kombinieren:

  • Hostansichten von Add-Ins und Add-In-seitige Ansichten.

  • Hostseitige Adapter und Add-In-seitige Adapter.

Host- und Add-In-seitige Adapter können nur in derselben Assembly kombiniert werden, wenn auch die Ansichten in derselben Assembly kombiniert werden.

Wenn Sie ein Segment auf einer Seite der Pipeline mit dem Gegenstück auf der anderen Seite der Pipeline kombinieren, z. B. die Hostansichten von Add-Ins mit den Add-In-Ansichten, müssen Sie diese Assembly auf beiden Seiten der Pipeline für dieses Segment bereitstellen.

Wenn Sie keine Ansichten in derselben Assembly kombinieren, können Sie den Host mit der Hostansicht des Add-Ins in derselben Assembly kombinieren.

Attributanforderungen

Die folgenden Pipelinesegmente erfordern Attribute für die Klassen, von denen sie definiert werden:

Die Hostansicht des Add-In-Pipelinesegments erfordert kein Attribut, da dieses Objekt an die AddInStore.FindAddIns(Type, String, String[])-Methode übergeben wird und daher nicht ermittelt werden muss.

In der folgenden Abbildung werden die Pipelinesegmente mit ihren erforderlichen Attributen gezeigt.

Add-In-Modell mit erforderlichen Attributen für Typen

Add-In-Modell mit erforderlichen Attributen für Typen

Anforderungen für das Pipelineverzeichnis

Damit .NET Framework Pipelinesegmente finden und Add-Ins aktivieren kann, müssen die Pipelinesegmente in einem bestimmten Verzeichnis abgelegt werden. Die angegebenen Verzeichnisnamen sind obligatorisch, es muss jedoch keine Groß-/Kleinschreibung beachtet werden. Die einzigen Namen, die nicht angegeben werden, sind der Name des Pipelinestammverzeichnisses (den Sie für die Ermittlungsmethoden angeben) und die Namen der Unterverzeichnisse, in denen die Add-Ins enthalten sind. Alle angegebenen Segmentnamen müssen Unterverzeichnisse auf derselben Ebene unterhalb des Pipelinestammverzeichnisses sein.

Diese Verzeichnisanforderungen werden in der folgenden Abbildung verdeutlicht.

Erforderliche Verzeichnisse für die Add-In-Entwicklung

Erforderliche Verzeichnisse für Add-In-Entwicklung.

In der folgenden Tabelle wird die erforderliche Verzeichnisstruktur beschrieben.

Verzeichnis

Beschreibung

Pipelinestammverzeichnis

Das Verzeichnis, in dem die Unterverzeichnisse der Pipelinesegmente enthalten sind. Es gibt keinen erforderlichen Namen für dieses Verzeichnis, das sich an einem beliebigen Speicherort befinden kann.

Ein Beispiel: ..\Pipeline

AddIns

Optional. Das Verzeichnis, in dem eines oder mehrere Unterverzeichnisse enthalten sind, von denen jedes ein Add-In enthält.

Dieses Verzeichnis muss den Namen AddIns haben.

Beispiel: ..\Pipeline\AddIns

Add-Ins können auch an anderen Speicherorten im System abgelegt werden.

AddInSideAdapters

Das Verzeichnis, in dem die Assembly mit den Add-In-seitigen Adaptern enthalten ist.

Dieses Verzeichnis muss den Namen AddInSideAdapters haben.

Beispiel: ..\Pipeline\AddInSideAdapters

AddInViews

Das Verzeichnis, in dem die Assembly mit den Add-In-Ansichten enthalten ist.

Dieses Verzeichnis muss den Namen AddInViews haben.

Beispiel: ..\Pipeline\AddInViews

Contracts

Das Verzeichnis, in dem die Assembly mit Verträgen enthalten ist.

Dieses Verzeichnis muss den Namen Contracts haben.

Beispiel: ..\Pipeline\Contracts

HostSideAdapters

Das Verzeichnis, in dem die Assembly mit hostseitigen Adaptern enthalten ist.

Dieses Verzeichnis muss den Namen HostSideAdapters haben.

Beispiel: ..\Pipeline\HostSideAdapters

Die AddInStore.Update-Methode und die AddInStore.Rebuild-Methode haben Überladungen, die eine Zeichenfolgenvariable annehmen, die das Pipelinestammverzeichnis oder einen PipelineStoreLocation-Wert darstellt. Durch diese Methoden werden die verfügbaren Add-Ins und Pipelinesegmente im System ermittelt und die zugehörigen, in einem Informationsspeicher zwischengespeicherten Informationen verwaltet. Weitere Informationen über die Ermittlungsmethoden finden Sie unter Ermitteln von Add-Ins.

Die Hostanwendung und die Hostansicht des Add-In-Pipelinesegments werden normalerweise im selben Verzeichnis bereitgestellt, das sich an einem beliebigen Ort befinden kann. Die Hostanwendung erfordert einen Verweis auf die Hostansicht des Add-In-Segments, das das zu aktivierende Add-In darstellt.

Die Pipeline kann sich an einem beliebigen Speicherort befinden, einschließlich der Verzeichnisstruktur der Visual Studio-Projektmappe. Sie müssen die Pipelinesegmente in ihre Verzeichnisse innerhalb der Pipeline kopieren. Das Pipelineverzeichnis und seine Unterverzeichnisse sind für mehrere Pipelines ausgelegt. Weitere Informationen über die verschiedenen Pipelineszenarien finden Sie unter Szenarien für Add-In-Pipelines.

Add-Ins an anderen Speicherorten

Es ist nicht erforderlich, Add-Ins in der Pipelineverzeichnisstruktur abzulegen. Wenn sie sich nicht in der Pipelineverzeichnisstruktur befinden, müssen Sie die AddInStore.UpdateAddIns-Methode oder die RebuildAddIns-Methode aufrufen, die den Pfad zum jeweiligen Add-In-Verzeichnis als Parameter akzeptiert.

Sie müssen auch den addInPaths-Parameter einschließen, wenn Sie die AddInStore.FindAddIns-Methode aufrufen.

Wenn die Hostanwendung die Pfade und vollständigen Typnamen ihrer Add-Ins kennt, können Sie mithilfe der FindAddIn-Methode ein bestimmtes Add-In suchen, wodurch keine Abfragen zur Pipelineverzeichnisstruktur ausgeführt werden müssen. Eine Pipelineverzeichnisstruktur ist jedoch trotzdem erforderlich.

Verweise auf Pipelinesegmente in Visual Studio

Wenn Sie einem Projekt einen Verweis auf ein anderes Pipelinesegment hinzufügen – beispielsweise erfordert der Add-In-seitige Adapter einen Verweis auf das Vertragssegment – erstellen Sie einen Verweis auf das Projekt dieses Segments und nicht auf dessen Assembly. In diesem Beispiel würde der Verweis zum Vertragsprojekt führen. Ein Projektverweis verhindert, dass Assemblys, auf die verwiesen wird, in der Pipeline bereitgestellt werden, da dies zu Konflikten führen kann. Konflikte werden außerdem verhindert, indem Sie auf das lokale Kopieren von Dateien verzichten.

So fügen Sie einen Projektverweis hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Verweise, und wählen Sie dann Verweis hinzufügen aus.

  2. Wählen Sie auf der Registerkarte Projekte das gewünschte Projekt aus, und klicken Sie auf OK.

  3. Klicken Sie unter dem Ordner Verweise auf den Projektverweis, den Sie gerade hinzugefügt haben.

  4. Legen Sie in den Verweiseigenschaften die Einstellung Lokale Kopie auf False fest.

Erforderliche Verweise

In der folgenden Tabelle sind die Pipelinesegmente aufgeführt, die Assemblyverweise auf System.AddIn.dll und System.Contract.dll erfordern. Einige Segmente erfordern auch Verweise auf andere kompilierte Segmente.

Pipelinesegment

Assembly- und Projektverweise

Namespace- und Typverweise

Vertrag

System.AddIn.dll

System.AddIn.Contract.dll

System.AddIn.Pipeline

System.AddIn.Contract

Add-In-Ansicht

System.AddIn.dll

System.AddIn.Pipeline

Add-In-seitiger Adapter

System.AddIn.dll

System.AddIn.Contract.dll

Add-In-Ansichtssegment

Vertragssegment

System.AddIn.Pipeline

Hostseitiger Adapter

System.AddIn.dll

System.AddIn.Contract.dll

Hostansichtssegment

Vertragssegment

System.AddIn.Pipeline

Host

System.AddIn.dll

Hostansichtssegment

System.AddIn.Hosting

Hostansicht

Add-In

System.AddIn.dll

Add-In-Ansichtssegment

System.AddIn

Add-In-Ansicht

Für die Hostansicht des Add-Ins ist anders als für die Hostanwendung kein Verweis erforderlich.

Bereitstellen für die Pipeline in Visual Studio

In Visual Studio können Sie Pipelinesegmente in die Pipelineverzeichnisstruktur integrieren, indem Sie den Ausgabebuildpfad ändern.

So stellen Sie die Pipeline in Visual Studio bereit

  1. Zeigen Sie im Menü Extras auf die Eigenschaften des Projekts, und wählen Sie dann die Registerkarte Erstellen aus.

  2. Ändern Sie den Ausgabepfad für die Pipelinesegmente in die entsprechenden Verzeichnisse in der Pipelineverzeichnisstruktur.

    Die Hostanwendung und die Hostansicht werden normalerweise im selben Verzeichnis bereitgestellt. Das Pipelineverzeichnis kann sich an einem beliebigen Ort befinden, es handelt sich jedoch normalerweise um das Verzeichnis der Hostanwendung.

Siehe auch

Konzepte

Verträge, Ansichten und Adapter

Ermitteln von Add-Ins

Pipeline-Entwicklung