管線開發需求
更新:2007 年 11 月
若要能夠探索及啟動管線區段和增益集,它們必須符合指定的範圍、屬性及目錄結構需求。
管線區段和組件
增益集、合約和檢視必須是公用的。配接器及其建構函式則可以是內部的。
通常管線區段包含在本身所屬的組件內,不過您可以組合同一組件中的以下區段:
增益集的主應用程式檢視和增益集端檢視。
主應用程式端配接器和增益集端配接器。
只有在您同時組合同一組件中的檢視時,才能組合同一組件中的主應用程式和增益集端配接器。
如果您將管線某一端的區段與管線另一端的對應項目組合,例如增益集的主應用程式檢視與增益集檢視,您必須部署該組件至該區段的管線兩端。
如果您不組合同一組件中的檢視,則可組合主應用程式與同一組件中增益集的主應用程式檢視。
屬性需求
以下管線區段需要定義其本身的類別屬性。
增益集需要 AddInAttribute。
合約需要 AddInContractAttribute。
增益集檢視需要 AddInBaseAttribute。
增益集端配接器需要 AddInAdapterAttribute。
主應用程式端配接器需要 HostAdapterAttribute。
增益集管線區段的主應用程式檢視不需要屬性,因為該物件會傳遞至 AddInStore.FindAddIns(Type, String, array<String[]) 方法,因此不需要加以探索。
下圖說明管線區段及其所需屬性。
增益集模型與所需的型別屬性
管線目錄需求
為了讓 .NET Framework 探索管線區段及啟動增益集,管線區段必須放入指定的目錄中。指定的目錄名稱為必要,但不區分大小寫。唯一未指定的名稱是管線根目錄的名稱 (您提供給探索方法的名稱),以及包含增益集的子目錄名稱。所有指定的區段名稱都必須是管線根目錄下,同一層級的子目錄。
下圖顯示這些目錄需求。
增益集開發所需的目錄
下表說明所需的目錄結構。
目錄 |
描述 |
---|---|
Pipeline root |
包含管線區段子目錄的目錄。這個目錄不需要名稱,而且可以位於任何位置。 範例:..\Pipeline |
AddIns |
選擇項,包含一個或多個子目錄的目錄,每個子目錄包含一個增益集。 這個目錄必須命名為 AddIns。 範例:..\Pipeline\AddIns 您可以將增益集放在系統中的其他位置。 |
AddInSideAdapters |
包含增益集端配接器組件的目錄。 這個目錄必須命名為 AddInSideAdapters。 範例:..\Pipeline\AddInSideAdapters |
AddInViews |
包含增益集檢視組件的目錄。 這個目錄必須命名為 AddInViews。 範例:..\Pipeline\AddInViews |
Contracts |
包含合約組件的目錄。 這個目錄必須命名為 Contracts。 範例:..\Pipeline\Contracts |
HostSideAdapters |
包含主應用程式端配接器組件的目錄。 這個目錄必須命名為 HostSideAdapters。 範例:..\Pipeline\HostSideAdapters |
AddInStore.Update 和 AddInStore.Rebuild 方法具有多載,會採用代表管線根目錄的字串變數或 PipelineStoreLocation 值。這些方法會探索系統中可用的增益集和管線區段,並且將其快取的資訊保存在資訊存放區。如需探索方法的詳細資訊,請參閱增益集探索。
主應用程式和增益集管線區段的主應用程式檢視通常會部署在同一個目錄中,且可以在任何位置。主應用程式需要增益集區段之主應用程式檢視的參考,該區段代表要啟動的增益集。
管線可以位於任何位置,包括 Visual Studio 解決方案的目錄結構內。您必須將管線區段複製到管線中各區段的目錄。管線目錄及其子目錄的設計為包含多個管線。如需各種管線案例的詳細資訊,請參閱增益集管線案例。
其他位置的增益集
您不需要將增益集放在管線目錄結構中。如果增益集不在管線目錄結構中,則必須呼叫 AddInStore.UpdateAddIns 方法或是 RebuildAddIns 方法,以便將路徑放入增益集包含的目錄做為其參數。
此外,呼叫 AddInStore.FindAddIns 方法時必須包含 addInPaths 參數。
如果您的主應用程式知道其增益集的路徑和完整型別名稱,則可以使用 FindAddIn 方法尋找特定增益集,如此就不用在管線目錄結構上查詢。不過,管線目錄結構仍為必要。
Visual Studio 中的管線區段參考
將專案中的參考加入另一個管線區段時 (例如,需要合約區段參考的增益集端配接器),請設定該區段專案的參考而非其組件的參考。在本範例中會是合約專案的參考。專案參考會避免將參考的組件部署至管線,因為這樣可能造成衝突。不在本機上複製檔案同樣也能避免衝突發生。
若要加入專案參考的步驟如下
在 [方案總管] 中,以滑鼠右鍵按一下 [參考] 資料夾並選擇 [加入參考]。
在 [專案] 索引標籤上選擇所需的專案,然後按一下 [確定]。
在 [參考] 資料夾下,按一下您剛剛加入的專案參考。
在 [屬性] 參考中,將 [複製到本機] 設為 [False]。
必要的參考
下表中列出需要 System.AddIn.dll 和 System.Contract.dll 組件參考的管線區段。某些區段還需要其他編譯區段的參考。
管線區段 |
組件和專案參考 |
命名空間和型別參考 |
---|---|---|
合約 |
System.AddIn.dll System.AddIn.Contract.dll |
System.AddIn.Pipeline System.AddIn.Contract |
增益集檢視 |
System.AddIn.dll |
System.AddIn.Pipeline |
增益集端配接器 |
System.AddIn.dll System.AddIn.Contract.dll 增益集檢視區段 合約區段 |
System.AddIn.Pipeline |
主應用程式端配接器 |
System.AddIn.dll System.AddIn.Contract.dll 主應用程式檢視區段 合約區段 |
System.AddIn.Pipeline |
主應用程式 |
System.AddIn.dll 主應用程式檢視區段 |
System.AddIn.Hosting 主應用程式檢視 |
增益集 |
System.AddIn.dll 增益集檢視區段 |
System.AddIn 增益集檢視 |
增益集的主應用程式檢視沒有參考需求,不過該檢視為主應用程式所需。
在 Visual Studio 中部署至管線
在 Visual Studio 中,您可以變更輸出組建路徑,將管線區段建置為管線目錄結構。
在 Visual Studio 中部署至管線
從 [工具] 功能表指向您專案的 [屬性],然後選取 [組建] 索引標籤。
將管線區段的 [輸出路徑] 變更為各區段在管線目錄結構中各自所屬的目錄。
主應用程式和主應用程式檢視通常會部署在同一個目錄中。管線目錄則可放在任何位置,不過通常會與主應用程式位於相同的目錄中。