總結
當你在 Microsoft Power Apps 中將解決方案匯入 目標環境時,可能會遇到關於缺少相依關係的錯誤。 本文協助你找出缺少依賴錯誤的成因,並提供解決方案來解決它們。 同時也包含最佳實務,幫助你避免未來解決方案匯入時出現這些錯誤。
適用於: Power Platform、Solutions
缺少依賴關係問題的症狀
當您嘗試在 Power Apps 中匯入解決方案時,您會收到類似下列訊息的錯誤訊息:
匯入失敗,因為缺少相依性。
在這種情況下,你無法繼續匯入解決方案,直到解決缺失的相依關係。
缺少依賴錯誤的原因
缺少相依性錯誤發生在解決方案中,當解決方案引用的應用程式或元件存在於來源環境中,但不存在於目標環境中時。 這些元件可以包括表格、欄位、表單或其他解題元素。
如果應用程式在來源環境中透過 Microsoft 排程維護升級到最新版本,但目標環境卻未升級,可能會發生此問題。
因應措施 1:解決遺漏的相依性錯誤
若要暫時解決此問題,請遵循下列步驟:
選取 [顯示相依性] 按鈕,導覽至 [缺少相依性] 頁面。 此頁面列出所有遺漏的元件,並將它們分類為下列類別:
- 應用程式
- 受管理的解決方案
-
未受管理的元件
提示
尋找元件相依性的另一種方法是開啟解決方案檔案,展開它,然後開啟 solution.xml 檔案。 在此檔案中,尋找包含所有遺失相依性列表的
<MissingDependencies>元素。展開相依性的每個區段,並根據下列各節所述的相依性類型來緩解問題。 還原或更新遺失的相依性之後,請重試匯入。
缺少來自 Dynamics 365 應用的相依性
如果解決方案依賴於目標環境中遺失或過時的 Dynamics 365 應用程式中的元件,則會發生此問題。 您可以在 [遺漏相依性] 頁面的 [應用程式] 區段中找到這些相依性。 每個項目將以以下格式提供缺少的應用程式的詳細資料:
<solution_name>(<solution_version>)來自<application_name>
應用程式名稱旁邊是安裝或更新按鈕,可將您重新導向至 Power Platform 系統管理中心。
若要解決此問題,請使用下列其中一種方法:
如果應用程式未安裝在目標環境中:
如果應用程式已安裝,但在目標環境中已過期:
- 系統管理員可以使用 [ 更新 ] 按鈕,在Power Platform系統管理中心開啟應用程式更新頁面。
- 非系統管理員可以使用 「複製更新連結」 按鈕來複製應用程式更新連結,並要求其系統管理員更新應用程式。
來自第一方 Dynamics 365 應用程式的依賴項缺失
解決方案可能僅依賴於目標環境中缺少或過時的第一方 Dynamics 365 應用程式元件。 在此狀況下,系統可能能夠自動更新或安裝這些元件,而且不需要使用者手動動作。 「 缺少相依性」 頁面會顯示「 部署相依性 」選項。 如果你選擇這個選項,然後選擇 匯入 按鈕,系統會先安裝或更新所需的相依,然後匯入解決方案。 如果相依應用程式的更新或安裝失敗,解決方案匯入也會失敗。 您可以在解決方案歷程記錄頁面上追蹤這些更新或安裝的狀態。
遺漏來自另一個受控解決方案的相依性
當解決方案依賴目標環境中遺漏的另一個受控解決方案的元件時,就會發生此問題。 您可以在 [遺漏相依性] 頁面的 [受控解決方案] 區段中找到這些相依性。 展開區段以查看其他詳細資料。
若要解決此問題,請將來源環境中安裝的相同版本的解決方案匯入目標環境。
「活動」解決方案中的相依性遺漏
當解決方案依賴於來自來源環境但在目標環境中缺失的非受管自訂時,就會發生此問題。 您可以在 [遺漏相依性] 頁面的 [非受管元件] 區段中找到這些相依性。 展開區段會提供其他詳細資訊。
若要解決此問題,請返回來源環境,包含遺漏的元件,再次匯出解決方案,然後將它匯入目標環境。
因應措施 2:防止遺漏相依性錯誤的最佳實務
當您在 Power Platform 中建立解決方案時,通常會重複使用現有元件,以提高一致性和開發速度。 跨環境重複使用現有物件有一些重要考量。
目標環境中的元件可用性
如果您的解決方案相依於來源環境中的元件 (例如資料表、流程或應用程式),則當您部署解決方案時,這些元件也必須存在於目標環境中。 此需求適用於管線部署和手動匯入。 若目標環境中缺少元件,匯入過程中會發生相依性缺失錯誤。
僅選擇必要的組件
為了避免相依問題,如果你只需要部分元素(例如特定的欄位、視圖或表單),就不要包含整個表格或元件。 添加不必要的元素可能會導致:
- 解決方案複雜性增加
- 套用至元件的多個受管理層
- 更新期間的潛在衝突
相反地,請只包含解決方案主動使用的元件部分。
避免修改受管理解決方案中的元件
請勿直接變更屬於受控解決方案一部分的元件。 這類變更會在受管理元件之上建立非受管理層。 此非受管理層可以:
- 覆寫來源受控解決方案的更新
- 造成環境之間的不一致
- 防止變更(例如 Power Automate 流程或資料表設定的更新)在部署後無法正確顯示
一律在非受控解決方案內套用變更,或使用解決方案分層來擴充功能。 如需解決方案分層的詳細資訊,請參閱 解決方案層。
避免依賴已棄用的應用程式
這很重要
此體驗可能尚未在所有區域的環境中提供。
避免依賴已淘汰的應用程式。 已淘汰的應用程式不再可供安裝或更新。 您可以在 [ 缺少相依性 ] 頁面的 [已取代的應用程式] 區段中找到這些相依性。 展開區段會提供其他詳細資訊。
在匯入解決方案之前,請先移除解決方案元件與已取代應用程式之間的任何相依性。