共用方式為


解決方案層級

解決方案分層是在元件層級執行。 受管理的解決方案和未受管理的解決方案在 Microsoft Dataverse 環境中存在於不同的層級。 在 Dataverse 中,有兩個截然不同的層級:

  • 非受控層所有導入的非託管解決方案和臨時自定義項都存在於此圖層。 所有未受管理解決方案共用單一未受管理層。

  • 託管層 所有導入的託管解決方案和系統解決方案都存在於此級別。 安裝多個受管理的解決方案時,安裝的最後一個解決方案是在先前安裝的受管理的解決方案上面。 這表示安裝的第二個解決方案可以自訂在它之前安裝的解決方案。 當兩個受管理解決方案的定義有衝突時,執行階段行為會是「最後一個獲勝」或是「實作合併邏輯」二擇一。 如果您解除安裝受管理的解決方案,在其下方的受管理的解決方案會生效。 如果解除安裝所有受管理的解決方案,則會套用系統解決方案中定義的預設行為。 受管理層級的基底是系統層。 系統層包含平台運作所需的實體和元件。

元件的解決方案分層範例,例如表單或檢視表。

受管理解決方案中的分層

對於每個受管理的元件,在解決方案中都有分層,視是否已匯入一個或多個修補程式或擱置升級解決方案而定,可以包括下列分層:

  • Base 位於解決方案底部的圖層“stack”是基礎圖層。 此層包括解決方案發行者,其中識別元件的擁有者,以及與之關聯的受管理屬性。

  • 頂部 前圖層被視為當前圖層,並定義元件的運行時行為。 頂端層可以是升級或修補程式,或者如果尚未將修補程式或升級程式套用至解決方案,則基礎解決方案會判斷元件執行時間的行為。

  • 從更新新增的分層:

    • 補丁 如果元件導入了一個或多個解決方案補丁,則它們將堆疊在基本圖層之上,最新的補丁位於前一個補丁的上方。

    • 待升級 如果導入了暫存升級 (名為 _Upgrade),則它位於 Base 層和 Patch 層 (如果有) 的頂部。

解決方案中的分層範例

重要

不建議使用修補程式。 其他資訊:建立解決方案修補程式

下圖範例顯示自訂資料行的解決方案分層,該資料行顯示基礎解決方案、修補程式和擱置的升級。

解決方案層級。

如需知道如何在解決方案中查看元件層級,請參閱 解決方案分層

合併行為

當更新解決方案或安裝多個會影響相同元件的解決方案時,解決方案製作者必須瞭解合併行為。 請注意,只有模型驅動的應用程式、表單和網站地圖元件類型會被合併。 所有其他元件都使用「最上層的獲勝」行為。

「最上層的獲勝」行為

除了由模型導向應用程式、表單和網站地圖元件外,其他解決方案元件也使用「最上層的獲勝」行為,也就是位於最上層的層級決定元件在應用程式執行階段時的運作方式。 可透過分段 (擱置) 升級來引入最上層。

透過擱置升級來引入最上層

以下範例為升級解決方案更新階段引入的最上層獲勝元件行為。 詳細資訊:在目標環境中套用升級或更新

  1. 目前最上 (基礎) 層帳戶資料表註解文字資料行的最大長度屬性預設設定為 100。

    基本解決方案中的資料表元件。

  2. 使用升級階段選項匯入解決方案升級,這會建立一個新的最上層。 擱置的升級包括帳戶資料表的註解文字資料行,其中最大長度屬性值變更為 150。

    在基礎層的最頂端引入活動層。

在這種情況下,帳戶記錄的註解資料行在應用程式執行階段時可允許最多 150 個字元。

解決方案更新和升級合併行為

如前一節所述,修補程式和分段升級會堆積在解決方案基礎層的最頂端。 您可以從 Power Apps 中的解決方案區域,選取套用升級,來合併這些解決方案、打平分層並建立新的基礎解決方案。

多個解決方案合併行為

當您準備好要分派您的受管理解決方案時,請記住,環境可能已經安裝多個解決方案,或是未來可能會安裝其他解決方案。 建構遵循最佳作法的解決方案,讓您的解決方案不會干擾其他解決方案。 其他資訊:使用分割的解決方案

Dataverse 用於合併自訂的程序會著重在維護解決方案的功能。 雖然我們會盡可能保留呈現的內容,但是自訂之間仍會有些不相容的地方,可能需要計算出的解決方法來變更部分呈現的細節,以便維護自訂功能。

另請參閱

瞭解如何合併託管解決方案