輸出的專案組態
每個設定都可以支援一組組建程式,以產生輸出專案,例如可執行檔或資源檔。 這些輸出專案對使用者是私人專案,而且可以放在連結相關輸出類型的群組中,例如可執行檔(.exe、.dll、.lib)和原始程式檔(.idl、.h 檔案)。
輸出專案可透過 IVsOutput2 方法提供,並使用 方法列舉 IVsEnumOutputs 。 當您想要將輸出專案分組時,您的專案也應該實作 IVsOutputGroup 介面。
實作 IVsOutputGroup
所開發的建構可讓專案根據使用量將輸出分組。 例如,DLL 可能會與其程序資料庫 (PDB) 分組。
注意
PDB 檔案包含偵錯資訊,並在建置.dll或.exe時指定 [產生偵錯資訊] 選項時建立。 通常只會針對偵錯項目組態產生 .pdb 檔案。
項目必須針對支援的每個組態傳回相同的群組數目,即使群組中包含的輸出數目可能會因組態而異。 例如,專案Matt的 DLL 可能包含偵錯組態中的 mattd.dll 和mattd.pdb,但只包含零售組態中的matt.dll。
群組也有相同的標識碼資訊,例如標準名稱、顯示名稱和群組資訊,從組態到專案內的組態。 此一致性可讓部署和封裝繼續運作,即使設定變更也一樣。
群組也可以有索引鍵輸出,允許封裝快捷方式指向有意義的專案。 任何群組在指定的組態中都可能是空的,因此不應假設群組的大小。 任何組態中每個群組的大小(輸出數目)都可以與相同組態中另一個群組的大小不同。 它也可以不同於另一個組態中相同群組的大小。
輸出群組
介面的主要用途 IVsProjectCfg 是提供建置、部署和偵錯管理物件的存取權,並允許專案自由將輸出分組。 如需使用此介面的詳細資訊,請參閱 專案組態物件。
在上圖中,Group Built 具有跨組態的索引鍵輸出(bD.exe或b.exe),讓使用者可以建立 [建置] 的快捷方式,並知道不論部署的組態為何,快捷方式都能運作。 群組來源沒有索引鍵輸出,因此用戶無法建立它的快捷方式。 如果 [偵錯群組建置] 有索引鍵輸出,但零售群組建置則不會,那將會是不正確的實作。 接著,如果有任何組態包含沒有輸出的群組,因此沒有索引鍵檔案,則具有該群組的其他組態不能有密鑰檔案。 安裝程式編輯器假設正式名稱和群組的顯示名稱,加上金鑰檔案的存在,不會根據組態而變更。
請注意,如果專案具有 IVsOutputGroup
不想封裝或部署的專案,就足以不將該輸出放入群組中。 不論群組為何,實作傳回所有組態輸出的方法,仍然可以正常 EnumOutputs 列舉輸出。
如需詳細資訊,請參閱 IVsOutputGroup
MPF for Projects 自定義專案範例中的 實作。