解決方案層級
解決方案分層是在元件層級執行。 受管理的解決方案和未受管理的解決方案在 Microsoft Dataverse 環境中存在於不同的層級。 在 Dataverse 中,有兩個截然不同的層級:
- 未受管理層在此分層中會有所有匯入的未受管理解決方案和特殊自訂。 所有未受管理解決方案共用單一未受管理層。
- 受控層所有匯入的、管理的解決方案以及系統解決方案都存在於此分層。 安裝多個受管理的解決方案時,安裝的最後一個解決方案是在先前安裝的受管理的解決方案上面。 這表示安裝的第二個解決方案可以自訂在它之前安裝的解決方案。 當兩個受管理解決方案的定義有衝突時,執行階段行為會是「最後一個獲勝」或是「實作合併邏輯」二擇一。 如果您解除安裝受管理的解決方案,在其下方的受管理的解決方案會生效。 如果解除安裝所有受管理的解決方案,則會套用系統解決方案中定義的預設行為。 受管理層級的基底是系統層。 系統層級包含平台運作必須的資料表和元件。
受管理解決方案中的分層
對於每個受管理的元件,在解決方案中都有分層,視是否已匯入一個或多個修補程式或擱置升級解決方案而定,可以包括下列分層:
基礎位於解決方案層 「堆疊」底部的是基礎層。 此層包括解決方案發行者,其中識別元件的擁有者,以及與之關聯的受管理屬性。
頂端頂端層會被視為目前層,並定義元件的執行時間行為。 頂端層可以是升級或修補程式,或者如果尚未將修補程式或升級程式套用至解決方案,則基礎解決方案會判斷元件執行時間的行為。
從更新新增的分層:
- 修補程式如果元件已匯入一個或多個解決方案修補程式,則會堆疊在基礎層最頂端,最新的修補程式會位於先前的修補程式上方。
- 擱置升級如果匯入了分階段升級 (命名為 _Upgrade),它將位於基礎層和修補檔層 (如果有) 的頂部。
重要
不建議使用修補程式。 其他資訊:建立解決方案修補程式
下圖範例顯示自訂資料行的解決方案分層,該資料行顯示基礎解決方案、修補程式和擱置的升級。
如需進一步了解如何在解決方案中查看元件層,請前往解決方案層。
合併行為
當更新解決方案或安裝多個會影響相同元件的解決方案時,解決方案的製作者必須了解合併行為。 請注意,系統只會合併模型導向應用程式、表單和網站地圖元件類型。 所有其他元件都使用「最上層的獲勝」行為。
「最上層的獲勝」行為
除了模型導向應用程式、表單和網站地圖元件外,其他解決方案元件也使用「最上層的獲勝」行為,也就是位於最上層的層級決定元件在應用程式執行階段時的運作方式。 可透過分段 (擱置) 升級來引入最上層。
透過擱置升級來引入最上層
以下範例為升級解決方案更新階段引入的最上層獲勝元件行為。 詳細資訊:在目標環境中套用升級或更新
目前最上 (基礎) 層帳戶資料表註解文字資料行的最大長度屬性預設設定為 100。
使用升級階段選項匯入解決方案升級,這會建立一個新的最上層。 擱置的升級包括帳戶資料表的註解文字資料行,其中最大長度屬性值變更為 150。
在這種情況下,帳戶記錄的註解資料行在應用程式執行階段時可允許最多 150 個字元。
解決方案更新和升級合併行為
如前一節所述,修補程式和分段升級會堆積在解決方案基礎層的最頂端。 您可以從 Power Apps 中的解決方案區域,選取套用升級,來合併這些解決方案、打平分層並建立新的基礎解決方案。
多個解決方案合併行為
當您準備好要分派您的受管理解決方案時,請記住,環境可能已經安裝多個解決方案,或是未來可能會安裝其他解決方案。 建構遵循最佳作法的解決方案,讓您的解決方案不會干擾其他解決方案。 其他資訊:使用分割的解決方案
Dataverse 用於合併自訂的程序會著重在維護解決方案的功能。 雖然我們會盡可能保留呈現的內容,但是自訂之間仍會有些不相容的地方,可能需要計算出的解決方法來變更部分呈現的細節,以便維護自訂功能。