本記事は下記コミュニティスレッドの内容を基にしてより容易に理解できるよう解説したものです。
<目次>
■ 初めに:Power Platformソリューションにおけるアクティブレイヤーとは?
> 対処法①:管理プロパティで移行先環境での編集を不可にする
> 対処法②:移行先環境での編集によって生じたアクティブレイヤーを削除する
初めに:Power Platformソリューションにおけるアクティブレイヤーとは?
まず、通常時のソリューション運用のイメージを記載します。
テスト環境においてActive(編集可能状態)でソリューションを作成し、本番環境に移行するとカスタマイズ内容はInactive(編集不可能状態)になります。
ここで、移行先環境でソリューションに変更を加えた場合にアクティブレイヤーが作成されます。
例えばフローの名前変更、トリガーやアクションの追加など移行先環境での新たなカスタマイズは全てレイヤーを分けて保存されます。
では、このアクティブレイヤーの存在がなぜソリューションのアップデートの障害になるのでしょうか?
それは、テスト環境のソリューションをインポートして本番環境をアップデートしても、その内容をアクティブレイヤーがらさに上書きするからです。
このようにアクティブレイヤーが存在していると、何度ソリューションにアップデートをかけても移行先の編集内容が再度上書きされてしまいます。移行先の独自のカスタマイズを保持しつつソリューションのアップデート内容だけを反映したいようなユースケースであれば便利ですが、通常時は下記2つの対策を行うことで正常にアップデートをかけれるようにするのがおすすめです。
対処法①:管理プロパティで移行先環境での編集を不可にする
ソリューション > 各コンポーネントのメニュー > 詳細 > マネージドプロパティ を選択。
「カスタマイズを許可する」をOFFにする。
(※マネージドソリューションであってもこの設定を行わないと移行先環境で編集ができてしまう)
対処法②:移行先環境での編集によって生じたアクティブレイヤーを削除する
ソリューション > 各コンポーネントのメニュー > 詳細 > ソリューションレイヤーの表示 を選択。
ソリューションの中にアクティブ状態のレイヤーが含まれることを確認し、「アンマネージドレイヤーを削除する」を選択
これで、再度開発環境からソリューションをインポートすることで変更内容が本番環境で上書きされることなく反映されるようになります。