專案組態物件
專案組態物件管理顯示 ui 的組態資訊。
專案組態屬性頁
專案的組態提供者管理的專案組態。 環境及其他封裝,以取得存取權,並擷取專案組態的相關資訊、 呼叫附加至專案的組態提供者物件的介面。
注意事項 |
---|
沒有 VSIP 介面以程式設計方式建立的方案組態。編輯方案組態有無 VSIP Api。您必須使用 DTE.SolutionBuilder。如需詳細資訊,請參閱方案組態以及 自動化模型。 |
若要發佈的顯示名稱,以供 UI 的組態,專案應該實作get_DisplayName。 環境呼叫GetCfgs,它會傳回一份IVsCfg可用來取得組態和平台的環境的 UI 中所列資訊的顯示名稱的指標。 儲存在現用方案組態的專案組態是取決於使用中的組態與平台。 FindActiveProjectCfg方法可以用來擷取現用的專案組態。
IVsProjectCfgProvider物件可以選擇性地實作上IVsCfgProvider2物件的IVsCfgProviderEventsHelper可讓您擷取的物件IVsProjectCfg2物件為基礎的正式的專案組態名稱。
提供存取專案組態的環境和其他專案的另一個方法是針對專案來提供實作的IVsCfgProvider2::GetCfgs方法來傳回一或多個組態物件。 專案也可能會實作IVsProjectCfg2,這是繼承自IVsProjectCfg ,藉此從IVsCfg、 提供組態專屬的資訊。 IVsCfgProvider2支援加入、 刪除和重新命名專案組態的平台和功能。
注意事項 |
---|
Visual Studio 不再限於兩種組態型別,因為處理組態應該不會撰寫程式碼假設有關的組態,也不應該它寫入,其假設專案包含一個組態,就一定是偵錯或正式版本。這會使get_IsReleaseOnly和get_IsDebugOnly已過時。 |
呼叫QueryInterface所傳回的物件上IVsGetCfgProvider::GetCfgProvider擷取IVsCfgProvider2。 如果IVsGetCfgProvider點撥打找不到QueryInterface上IVsProject3專案物件時,您可以存取組態提供者物件藉由呼叫QueryInterface傳回的物件階層架構根瀏覽器的物件上IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject),或透過組態提供者傳回的指標IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider)。
IVsProjectCfg2主要是提供存取建置、 偵錯和部署的管理物件,並讓專案群組輸出的自由。 方法的IVsProjectCfg和IVsProjectCfg2可以用來實作IVsBuildableProjectCfg管理建置程序,以及IVsOutputGroup組態的輸出群組的指標。
專案必須傳回相同數目的每個設定,即使包含在群組內的輸出數目不一定組態設定,它所支援的群組。 群組必須也具有相同的識別元資訊 (正式名稱、 顯示名稱和群組資訊) 組態設定專案中。 如需詳細資訊,請參閱 輸出的專案組態。
若要啟用偵錯,您的組態應該實作IVsDebuggableProjectCfg。 IVsDebuggableProjectCfg為選擇性偵錯工具啟動組態的專案所實作的介面,並使用 [設定] 物件上實作IVsCfg和IVsProjectCfg。 在使用者選擇按下 F5 開始偵錯工具時,環境會呼叫它。
ISpecifyPropertyPages與IDispatch使用屬性頁的搭配使用來擷取並顯示給使用者的組態相關資訊。 如需詳細資訊,請參閱 屬性頁。