解決方案概念

解決方案是在 Power Apps 和 Power Automate 中實施 ALM 的機制 。 本文說明下列主要解決方案概念:

  • 兩種類型的解決方案
  • 解決方案元件
  • 解決方案週期
  • 解決方案發行者
  • 解決方案與解決方案元件相依性

受管理和未受管理的解決方案

一個解決方案一定是受管理的未受管理的,二擇一。

  • 開發了未受管理的解決方案。 當您變更應用程式時,會在開發環境中使用未受管理解決方案。 未受管理的解決方案可以匯出為未受管理的或受管理的。 匯出的未受管理版本解決方案應登記至您的來源控制系統中。 未受管理的解決方案應視為您的 Microsoft Power Platform 資產來源。 刪除未受管理的解決方案時,只會刪除其中所包含任何自訂的解決方案容器。 所有未受管理的自訂仍然有效,且屬於預設解決方案。

  • 已部署受管理的解決方案。 受管理的解決方案可部署到任何不是該解決方案開發環境的環境。 這包括測試、UAT、SIT 和生產環境。 受管理的解決方案可以獨立於環境中的其他受管理解決方案而提供服務。 作為 ALM 的最佳作法,受管理解決方案的生成方式應透過把未受管理的解決方案匯出為受管理的,並將其視為組建成品。 此外:

    • 您無法在受管理的解決方案中直接編輯元件。 若要編輯受管理的元件,請先將它們新增至未受管理的解決方案。
      • 這樣做時,您會在未受管理的自訂與受管理的解決方案之間建立相依性。 如果存在相依性,則在您移除相依性之前,無法解除安裝受管理的解決方案。
    • 有些受管理的元件無法編輯。 若要確認元件是否可以編輯,請查看受管理的屬性
    • 您無法匯出受管理的解決方案。
    • 刪除 (解除安裝) 受管理的解決方案時,其中隨附的所有自訂和擴充功能都會遭移除。

    重要

    • 您無法將受管理的解決方案匯入至包含初始未受管理之解決方案的相同環境。 若要測試受管理的解決方案,您需要不同的環境,以便將其匯入至其中。
    • 當您刪除受管理的解決方案時,下列資料會遺失:儲存在屬於受管理的解決方案之自訂實體中的資料,以及在其他不屬於受管理的解決方案的實體上儲存在屬於受管理的解決方案之自訂屬性中的資料。

製作者與開發人員使用非受管理解決方案在開發環境中工作,然後將它們當成受管理解決方案,匯入其他下游環境 (例如測試)。

將解決方案從 dev 分發至測試環境。

注意

當您在開發環境中自訂時,就是在未管理層中工作。 因此,當您將未受管理解決方案匯出,當成受管理解決方案分發至另一個環境時,受管理的解決方案將會匯入至受管理層的環境中。 更多資訊:解決方案分層

解決方案元件

元件表示您可能可以自訂的項目。 可以包含在解決方案中的任何項目即是元件。 若要檢視解決方案中所包含的元件,請開啟您想要的解決方案。 元件列在元件清單中。

解決方案中的元件。

注意

  • 解決方案的大小最大為 32 MB。
  • 您無法在受管理的解決方案中直接編輯元件。

若要查看可新增到任何解決方案的元件類型清單,請參閱 ComponentType 選項

有些元件會在其他元件中形成巢狀結構。 例如,實體包含表單、檢視表、圖表、欄位、實體關聯、訊息和商務規則。 每個這些元件都必須有實體存在。 欄位不可以出現在實體外面。 也就是,欄位依存於實體。 元件類型的數目實際上有上述清單所示的兩倍之多,但是大部分的類型會在其他元件中形成巢狀結構,且在應用程式中不可見。

使用元件的目的是追蹤使用受管理的屬性和所有相依性所能進行之自訂的限制,以便匯出、匯入和 (在受管理的解決方案中) 刪除,而不留下任何項目。

解決方案週期

解決方案支援下列可協助支援應用程式週期處理的動作:

  • 建立作者和匯出未受管理解決方案。

  • 更新對部署至上層受管理解決方案的受管理解決方案建立更新。 您無法使用更新來刪除元件。

  • 升級匯入解決方案,做為升級現有的受管理解決方案(移除未使用的元件,並實施升級邏輯)。 升級包含彙總 (合併) 該解決方案的所有修補程式到新版的解決方案中。 解決方案升級將會刪除已存在,但已不再包含在升級版本中的元件。 您可以選擇立即升級或分段升級,這樣就可以在完成升級之前執行一些額外的動作。

  • 修補修補程式只包含對上層受管理解決方案的變更,例如新增或編輯元件和資產。 進行小型更新(類似 hotfix)時,請使用修補程式。 匯入修補程式時,這些修補程式會層疊在上層解決方案的最頂端。 您無法使用修補程式來刪除元件。

解決方案發行者

每個應用程式及其他解決方案元件 (例如您建立的實體,或任何您所進行的自訂) 都是解決方案的一部分。 由於每個解決方案都有發行者,因此您應該建立自己的發行者,而不是使用預設值。 當您建立解決方案時,您可以指定發行者。

Note

即使不使用自訂解決方案,您也是在稱為 Common Data Service 預設解決方案預設解決方案的解決方案中工作。 其他資訊:預設解決方案和 Common Data Service 預設解決方案

建立元件的解決方案發行者會視為該元件的擁有者。 元件擁有者會控制允許或限制解決方案 (包括該元件) 的其他發行者進行哪些變更。 您可以在同一個發行者中,將元件擁有權從一個解決方案移到另一個解決方案,但無法在不同的發行者之間移動。 在受管理的解決方案中引入元件發行者後,即無法變更元件的發行者。 因此,最好定義單一發行者,以便稍後跨解決方案變更層級模型。

解決方案發行者指定開發應用程式的人員。 因此,您應該建立有意義的解決方案發行者名稱。

解決方案發行者首碼

解決方案發行者會包含首碼。 發行者程式首碼是協助避免命名衝突的機制。 這樣可將不同發行者的解決方案安裝在有較少衝突的環境中。 例如,此處顯示的 Contoso 解決方案包括解決方案發行者首碼 contoso

解決方案發行者首碼範例。

注意

變更解決方案發行者首碼時,您必須在建立任何新的應用程式或中繼資料項目之前先這樣做,因為您無法在建立中繼資料項目之後變更其名稱。

其他資訊:

解決方案相依性

由於受管理的解決方案層疊方式各有不同,某些受管理的解決方案可能依賴於其他受管理的解決方案中的解決方案元件。 某些解決方案發行者將會利用此方式建置模組化解決方案。 您可能必須先安裝「基底」受管理的解決方案,然後才能安裝第二個受管理的解決方案,這會進一步自訂基底受管理的解決方案中的元件。 第二個受管理的解決方案依存於屬於第一個解決方案之一部分的解決方案元件。

系統會追蹤解決方案之間的這些相依性。 如果您嘗試安裝需要基底解決方案的解決方案,但是該基底解決方案未安裝,則無法安裝解決方案。 您將會收到訊息說明解決方案需要先安裝其他解決方案。 同樣地,因為相依性,當解決方案依存的基底解決方案仍然已安裝時,您無法解除安裝基底解決方案。 您必須先解除安裝相依的解決方案,才能解除安裝基底解決方案。 其他詳細資訊:移除相依性

解決方案元件相依性

解決方案元件表示您可能可以自訂的項目。 任何可包含在解決方案中的項目都是解決方案元件,但有些元件會依存於其他元件。 例如,網站欄位和客戶摘要報表都依存於客戶實體。 其他詳細資訊,請參閱解決方案元件相依性追蹤

請參閱

解決方案層級
在 Power Platform 系統管理中心建立與管理環境