解決方案使用概觀
本主題適用於 Dynamics 365 Customer Engagement (on-premises)。 有關本主題的 Power Apps 版本,請參閱: 解決方案概觀
在 Dynamics 365 Customer Engagement (on-premises) 中,會利用解決方案,將應用程式和元件從一個組織傳輸到另一個組織,或是將一組自訂套用至現有的應用程式。 解決方案可以包含一個或多個應用程式,以及其他如網站地圖、實體、程序、Web 資源、選項組等元件。 您可以從 AppSource,或是從獨立軟體廠商 (ISV) 取得解決方案。 解決方案是一個檔案,您可以將其匯入環境中做為應用程式,或套用一組自訂至現有的應用程式。
詳細資訊:白皮書:解決方案產生器的模式和準則
如果您是建立要發佈之應用程式的 ISV,就需要使用解決方案。 如需有關使用解決方案的詳細資訊,請參閱使用解決方案來封裝和發佈擴充功能。
解決方案元件
解決方案元件表示您可能可以自訂的項目。 可以包含在解決方案中的任何項目即是解決方案元件。 若要查看解決方案中包含的元件,請在方案總管中移至設定>解決方案,然後開啟所需的解決方案。 元件列在元件清單中。
大部分解決方案元件會巢狀置於其他解決方案元件中。 例如,實體包含表單、檢視表、圖表、欄位、實體關聯、訊息和商務規則。 每個這些解決方案元件都必須實體存在。 欄位不可以出現在實體外面。 也就是,欄位依存於實體。 解決方案元件類型的數目實際上有上述清單所示的兩倍之多,但是大部分的類型在應用程式中看不到。
使用解決方案元件的目的是追蹤使用受管理的屬性和所有解決方案相依性所能進行之自訂的限制,以便匯出、匯入和 (在受管理的解決方案中) 刪除,而不留下任何項目。
受管理和未受管理的解決方案
受管理的解決方案可以在匯入後解除安裝。 解除安裝解決方案就會刪除該解決方案的所有元件。
當您匯入未受管理的解決方案時,可以將該解決方案的所有元件加入至預設解決方案。 您無法透過解除安裝解決方案刪除元件。
當您匯入包含已自訂之解決方案元件的未受管理的解決方案時,未受管理的解決方案中的自訂將會覆寫您的自訂。 您無法復原這項作業。
重要
只有在您要將所有元件加入至預設解決方案,並覆寫任何現有自訂時,才能安裝未受管理的解決方案。
即使您不打算發佈您的解決方案,您仍然可以建立和使用未受管理的解決方案,來產生只包含您要在應用程式中自訂之部分的不同檢視表。 當您進行某些自訂時,請直接將其加入至您建立的未受管理的解決方案。
若要建立受管理的解決方案,您可以在匯出解決方案時選擇受管理的解決方案選項。 如果您建立受管理的解決方案,就無法將其匯入至您用來建立它的同一個組織。 您只能將它匯入至不同的組織。
如何套用解決方案
所有的解決方案都會評估為介層,以判斷應用程式實際上會執行什麼作業。 下圖顯示受管理和未受管理的解決方案如何進行評估,以及其中的變更如何將顯示在組織中。
從底部開始向上進行:
系統解決方案
系統方案與每個組織都有的受管理的解決方案類似。 系統解決方案是系統中所有立即可用的元件的定義。
受管理的解決方案
受管理的解決方案可以修改系統解決方案元件並加入新元件。 如果安裝多個受管理的解決方案,安裝的第一個是在稍後安裝的受管理的解決方案下面。 這表示安裝的第二個解決方案可以自訂在它之前安裝的解決方案。 當兩個受管理解決方案的定義發生衝突時,一般規則為「最後一個獲勝」。如果卸載受管理的解決方案,則其下方的受管理的解決方案會生效。 如果您解除安裝所有受管理的解決方案,則會套用系統解決方案中定義的預設行為。
未受管理的自訂
未受管理的自訂是透過未受管理的解決方案對組織進行的任何變更。 系統解決方案會使用受管理的屬性,定義您可以或不可進行的自訂。 受管理的解決方案的發行者有相同能力,可以限制您自訂發行者在其方案中加入之解決方案元件的能力。 您可以自訂沒有會防止您進行自訂之受管理屬性的任何解決方案元件。
應用程式行為
這就是您實際在組織中看到的。 預設系統解決方案加上任何受管理的解決方案,以及已套用的任何未受管理的自訂。
受管理的屬性
有些元件無法進行自訂。 系統解決方案中的這些元件具有防止您進行自訂的中繼資料。 這些項目稱為未受管理的屬性。 受管理的解決方案的發行者也可以設定受管理的屬性,防止您以發行者不希望您使用的方式自訂其解決方案。
解決方案相依性
由於受管理的解決方案層疊的方式,某些受管理的解決方案可能依賴於其他受管理的解決方案中的解決方案元件。 某些解決方案發行者將會利用此方式建置模組化解決方案。 您可能必須先安裝「基底」受管理的解決方案,然後才能安裝第二個受管理的解決方案,這會進一步自訂基底受管理的解決方案中的元件。 第二個受管理的解決方案依存於屬於第一個解決方案之一部分的解決方案元件。
系統會追蹤解決方案之間的這些相依性。 如果您嘗試安裝需要基底解決方案的解決方案,但是該基底解決方案未安裝,則無法安裝解決方案。 您將會收到訊息說明解決方案需要先安裝其他解決方案。 同樣地,因為相依性,當解決方案依存的基底解決方案仍然已安裝時,您無法解除安裝基底解決方案。 您必須先解除安裝相依的解決方案,才能解除安裝基底解決方案。