共用方式為


解決方案元件相依性追蹤

解決方案是由解決方案元件所組成。 您可以使用 Microsoft Dataverse 中的解決方案區域來建立或新增解決方案元件。 使用 AddSolutionComponentRequest 訊息或建立或更新包括 SolutionUniqueName 參數的解決方案元件的任何訊息,您可以程式設計方式執行下列動作。

解決方案元件通常取決於其他解決方案元件。 有其他解決方案元件相依性的解決方案元件無法刪除。 例如,自訂功能區通常需要影像或指令碼 Web 資源,才能顯示圖示和使用指令碼執行動作。 只要自訂功能區在解決方案中,需要它使用的特定 Web 資源。 在刪除 Web 資源之前,您必須先刪除自訂功能區中對它們的參考。 選擇 顯示相依性,可在應用程式中檢視這些解決方案元件相依性。

本文說明您在解決方案中包含的解決方案元件類型,以及它們彼此間互相依存。

所有解決方案元件

可用解決方案元件類型的完整清單位於系統 componenttype 全域選擇資料行中。 將 OptionSets.csOptionSets.vb 檔案包括在專案中,就可以使用此屬性支援的範圍值。 不過,那裡列出的許多解決方案元件類型僅供內部使用,而清單中不提供解決方案元件之間的關聯資訊。

解決方案元件相依性

解決方案元件相依性可確保您有可靠的經驗來使用解決方案。 它們可防止您正常執行的動作不小心破壞解決方案中定義的自訂。 這些相依性可讓您藉由簡單匯入或刪除解決方案,來安裝及解除安裝受管理的解決方案。

解決方案架構自動追蹤解決方案元件相依性。 在解決方案元件的每個作業自動計算系統中其他元件的任何相依性。 相依性資訊用於維護系統的完整性和避免可能造成不一致狀態的作業。

基於相依性追蹤,下列行為會強制執行:

  • 如果在系統中其他元件依賴元件,無法刪除元件。

  • 解決方案匯出時,如果缺少任何元件,會向使用者發出警告,因為這些元件可能會導致將該解決方案匯入另一個環境時發生失敗。

    如果解決方案開發人員想要解決方案只安裝在相依元件預期存在的環境中,使用者可忽略在匯出時的警告。 例如,當您建立一個設計為安裝在預先安裝的「基礎」解決方案上的解決方案時。

  • 如果解決方案中未包含所有必要的元件,且在目標環境中不存在,則解決方案匯入會失敗。

  • 此外,當匯入受管理的解決方案時,所有必要元件必須與解決方案的套件類型符合。 受管理的解決方案中的元件只可以依據其他受管理的元件。

解決方案元件相依性有三種類型:

  • 解決方案內部。 內部相依性由 Dataverse 管理。 當某個解決方案元件如果沒有其他解決方案元件就無法存在時,就會存在這些相依性。
  • 已發佈。 當兩個解決方案元件彼此關聯並發佈時,就會建立所發佈的相依性。 若要移除這種類型的相依性,必須移除關聯,然後再次發行資料表。
  • 已解除發行。 未發行的相依性適用於更新中、可發行的解決方案元件未發行版本。 在解決方案的元件發行之後,成為發行的相依性。

解決方案元件內部相依性表示解決方案元件的動作需要另一個解決方案元件的動作。 例如,當您刪除資料表時,您預期會隨之刪除所有資料表屬性。 與其他資料表的任何資料表關聯性也將刪除。

然而,內部相依性可能會造成發行的相依性,而仍需手動介入。 例如,若您在資料表表單上包含了查詢欄位,然後再刪除關聯中的主要資料表,則必須先從相關資料表表單中移除查詢資料行,然後發行該表單,才能完成刪除。

當您以程式設計方式執行解決方案的動作時,可以使用與 Dependency 資料表關聯的訊息。 在刪除元件或解除安裝解決方案之前,請前往相依性實體,以取得可用於識別可能存在的相依性的訊息。

常見解決方案元件

這些是應用程式中顯示的解決方案元件,也是使用解決方案頁面新增或刪除解決方案元件時直接使用的元件。 解決方案元件的其他類型都需要一個或多個這類解決方案元件存在。

應用程式功能區 (RibbonCustomization)

應用程式功能區和資料表功能區範本的功能區自訂。 應用程式功能區不包含資料表或表單層級的功能區定義。

自訂應用程式功能區經常有 Web 資源的已發行相依性。 Web 資源是用來定義功能區按鈕圖示和 JavaScript 函數,以控制何時顯示功能區元素或當特定功能區控制項使用時要執行哪些動作。 在功能區定義使用 $webresource: 指示詞關聯 Web 資源至功能區時,才會建立相依性。 其他資訊:$webresource 指令

文章範本 (KBArticleTemplate)

包含文章的標準屬性之範本。 文章範本和 KbArticle 表之間始終存在內部相依性。

關係角色 (ConnectionRole)

描述兩筆記錄間之關係的角色。 每個關係角色定義哪種實體記錄可使用關係角色連結。 這可以建立關係角色和資料表之間的已發行相依性。

合約範本 (ContractTemplate)

包含合約的標準屬性之範本。 合約範本與合約資料表之間永遠會有內部相依性。

儀表板或實體表單 (SystemForm)

系統表單資料表記錄用來定義儀表板和資料表表單。 當 SystemForm 做為資料表表單時,在資料表上會存有內部相依性。 當 SystemForm 作為儀表板時,則沒有內部相依性。 資料表表單和儀表板通常有與其內容關聯的已發行相依性。 資料表表單可能具有相依於資料表關聯性的查詢資料行。 儀表板和資料表表單包含的圖表或子格將會產生檢視表的已發行相依性,而檢視表則有資料表的內部相依性。 因為顯示在儀表板或表單中的內容,或是當表單包含 JavaScript 程式庫時,就可建立 Web 資源的已發佈相依性。 資料表表單有任何屬性 (顯示為表單資料行) 的已發行相依性。

電子郵件範本 (EmailTemplate)

包含電子郵件訊息標準屬性的範本。 電子郵件範本通常包括從指定資料表屬性插入資料的資料行。 當建立時有資料表的內部相依性,電子郵件範本可以與特定資料表進行連結。 全域電子郵件範本未與特定資料表關聯,但是,它可以有用來提供資料的資料表屬性的已發行相依性。 程序 (工作流程) 通常設定為使用電子郵件範本傳送電子郵件,建立工作流程的已發行相依性。

實體 (Entity)

資料表 (以前稱為實體) 是 Dataverse 中用於建模和管理資料的主要結構。 由於兩者間的內部相依性刪除資料表時,與資料表關聯的圖表、表單、資料表關聯、檢視表及屬性會自動刪除。 資料表通常有程序、儀表板和電子郵件範本的已發行相依性。

資料行安全性設定檔 (FieldSecurityProfile)

定義受保護屬性之存取層級的設定檔。

合併列印範本 (MailMergeTemplate)

包含合併列印文件之標準屬性的範本。 合併列印範本有相關聯資料表的已發行相依性。

選項組 (OptionSet)

選擇資料行 (以前稱為選項組) 用來定義一組選項。 挑選清單屬性使用選擇定義提供的選項。 許多挑選清單屬性可以使用全域選擇,所以提供的選項都是相同並在一個位置上維護。 挑選清單屬性參照全域選擇時,就會發生已發行相依性。 您無法刪除挑選清單屬性使用的全域選擇。

外掛程式組件 (PluginAssembly)

包含一或多個外掛程式類型的組件。 外掛程式註冊到通常與資料表相關的活動。 這會建立已發行相依性。

程序 (Workflow)

邏輯規則集,定義自動化特定商務程序、工作或要執行的一組動作所需的步驟。 處理程序提供各種動作,會建立處理程序所參考之其他解決方案元件的已發行相依性。 每個程序也有相關聯資料表的已發行相依性。

報表 (Report)

易讀版面配置中的資料摘要。 報表有在報表中所含的所有資料表或屬性資料的已發行相依性。 每個報表也必須和報表類別相關,會在解決方案元件上建立一個名為「報表相關類別」(ReportCategory)的內部相依性。 報表可設定為內嵌報表,建立上層報表的已發行相依性。

SDK 訊息處理步驟 (SDKMessageProcessingStep)

執行準銷售案源中要執行外掛程式的階段。

資訊安全角色 (Role)

安全性權限的群組。 使用者會擁有授與其 Dataverse 系統存取權的指派資訊安全角色。 資料表表單可以與特定資訊安全角色關聯,控制誰可以檢視表單。 這可以建立資訊安全角色和表單之間的已發行相依性。

注意

只有環境業務單位的資訊安全角色才可以加入解決方案。 只有具有這些資訊安全角色讀取權限的使用者可以加入至解決方案。

服務端點 (ServiceEndpoint)

可連絡的服務端點。

網站地圖 (SiteMap)

用於控制應用程式導覽窗格的 XML 資料。 網站地圖可能會被連結以顯示 HTML Web 資源,或者網站地圖中的圖示可能使用影像 Web 資源。 當 $webresource: 指示詞用來建立這些關聯時,會建立已發行相依性。 其他資訊:$webresource 指令

Web 資源 (WebResource)

相當於用於擴展模型導向應用程式或 Web 開發文件的資料。 Web 資源提供用於提供自訂使用者介面元素的用戶端元件。 Web 資源可能有資料表表單、功能區和網站地圖的已發行相依性。 當 $webresource: 指示詞用來在功能區和網站地圖中建立關聯時,會建立已發行相依性。 如需更多資訊,請前往 $webresource 指示詞

注意

Web 資源會依據相對連結相依於其他 Web 資源。 例如,HTML Web 資源可以使用 CSS 或指令碼 Web 資源。 在資料表表單或圖表外顯示的 Silverlight Web 資源必須有託管其的 HTML Web 資源。 這些相依性不會做為解決方案相依性追蹤。

請參閱