適用於: Power Platform、Solutions
本文提供在目標環境中執行 升級或更新 時所發生問題的因應措施。 運行時間行為不會如最新解決方案預期般運作。
徵兆
當您嘗試升級或更新至現有的解決方案時,元件運行時間行為與解決方案的預期行為不一致。
當解決方案元件值未在最上層更新下列兩個原因之一時,就會發生此問題。 若要判斷解決方案元件的最上層是否為 [使用 中] 或 [ 受控], 請檢視元件的解決方案層。 如果頂端的 [圖層狀態 ] 為 [ 作用 中],則最上層為 [作用中] ;否則,它是 受控的。 深入了解解決方案分層。
原因 1:頂端未受管理的現用自定義
目標環境中的最上層有未受管理的現用自定義。
原因 1 的因應措施
使用下列其中一個因應措施:
下列範例案例示範在升級完成最上層使用中自定義之後,目標環境中的解決方案層會發生什麼事。
原因 1 目標中解決方案的初始狀態
在這裡, A、 B 和 C 是解決方案 1、方案 2 和 Unmanaged Active 層的解決方案元件值。
| 訂單 | 解決方案 | 發行者 | 層次狀態 |
|---|---|---|---|
| 3 | 非受控層 (C) |
默認發行者 | 使用中 |
| 2 | 解決方案 2 (B) |
發行者 B | |
| 1 | 解決方案 1 (A) |
發行者 A |
升級方案而不覆寫原因 1 的自定義專案
匯入方案 2 后,使用新的值 D 而不 覆寫自定義。 值 D 在將解決方案 2 從值 B 升級為 D 之後無效,因為有效的最上層仍維持 C。
| 訂單 | 解決方案 | 發行者 | 層次狀態 |
|---|---|---|---|
| 3 | 非受控層 (C) |
默認發行者 | 使用中 |
| 2 | 解決方案 2 (D) |
發行者 B | |
| 1 | 解決方案 1 (A) |
發行者 A |
使用原因 1 的覆寫自定義升級解決方案
匯入方案 2 後,使用 覆寫自定義 的選項來應用新值 D。 值 D 會在將方案 2 從值 B 升級為 D 之後生效,因為使用覆寫自定義的升級會將值 D 複製到使用中層。
| 訂單 | 解決方案 | 發行者 | 層次狀態 |
|---|---|---|---|
| 3 | 非受控層 (D) |
默認發行者 | 使用中 |
| 2 | 解決方案 2 (D) |
發行者 B | |
| 1 | 解決方案 1 (A) |
發行者 A |
原因 2:上層另一個受控解決方案的分層
受控解決方案的另一層是最上層。
原因 2 的因應措施
移至頂端受控層的來源環境,然後執行下列其中一個動作:
- 在解決方案中進行必要的變更、匯出新版本的解決方案,然後將它再次匯入目標環境。
- 從解決方案中移除元件、匯出新版的解決方案,然後將它匯入為升級解決方案至目標環境。
下列範例案例示範在升級之後,目標中的解決方案層會發生什麼情況,並在頂端使用另一個受控層完成。
原因 2 目標中解決方案的初始狀態
在這裡, A、 B 和 C 是解決方案 1、方案 2 和解決方案 3 中解決方案元件的值。
| 訂單 | 解決方案 | 發行者 |
|---|---|---|
| 3 | 解決方案3 (C) |
發行者 C |
| 2 | 解決方案 2 (B) |
發行者 B |
| 1 | 解決方案 1 (A) |
發行者 A |
升級方案而不覆寫原因 2 的自定義
匯入方案 2 后,使用新的值 D 而不 覆寫自定義。 升級之後,D 值無效,因為解決方案 2 中的有效最上層仍然是 C。
| 訂單 | 解決方案 | 發行者 |
|---|---|---|
| 3 | 解決方案3 (C) |
發行者 C |
| 2 | 解決方案 2 (D) |
發行者 B |
| 1 | 解決方案 1 (A) |
發行者 A |
使用覆寫自定義的升級解決方案
匯入方案 2 之後,使用新的值 D 並選擇 覆寫自訂項目。 不過,升級之後,值 D 無效,因為 覆寫自定義 只會將值複製到最上層的活躍層。 受控解決方案 3 中的 C 值仍然是最上層的有效層。
| 訂單 | 解決方案 | 發行者 |
|---|---|---|
| 3 | 解決方案3 (C) |
發行者 C |
| 2 | 解決方案 2 (D) |
發行者 B |
| 1 | 解決方案 1 (A) |
發行者 A |
更新符合升級層的最上層受控層
匯入具有新值 D 的方案 2 之後。若要使 值 D 成為有效的最上層,請刪除最上層 C 或修改方案 3,使其值為 D,然後匯出和匯入方案 3。
| 訂單 | 解決方案 | 發行者 |
|---|---|---|
| 3 | 解決方案3 (D) |
發行者 C |
| 2 | 解決方案 2 (D) |
發行者 B |
| 1 | 解決方案 1 (A) |
發行者 A |