적용 대상: Power Platform, 솔루션
이 문서에서는 대상 환경에서 업그레이드 또는 업데이트를 수행할 때 발생하는 문제에 대한 해결 방법을 제공합니다. 런타임 동작은 최신 솔루션에서 예상한 대로 동작하지 않습니다.
증상
기존 솔루션으로 업그레이드하거나 업데이트하려고 하면 구성 요소 런타임 동작이 솔루션의 예상 동작과 일치하지 않습니다.
이 문제는 다음 두 가지 원인 중 하나에 대해 최상위 계층에서 솔루션 구성 요소 값이 업데이트되지 않을 때 발생합니다. 솔루션 구성 요소의 최상위 계층이 활성 또는 관리형인지 확인하려면 구성 요소의 솔루션 계층을 확인합니다. 위쪽의 레이어 상태가 활성 상태이면 최상위 계층이 활성이고, 그렇지 않으면 관리됩니다. 솔루션 계층화에 대해 자세히 알아봅니다.
원인 1: 맨 위에 관리되지 않는 활성 사용자 지정
대상 환경의 최상위 계층에는 관리되지 않는 활성 사용자 지정이 있습니다.
원인 1에 대한 해결 방법
다음 해결 방법 중 하나를 사용합니다.
- 대상 환경의 맨 위에 있는 활성 사용자 지정 을 제거합니다.
- 사용자 지정 덮어쓰기 옵션을 사용하여 솔루션을 다시 업그레이드합니다. 사용자 지정 덮어쓰기 옵션은 들어오는 값을 활성 계층에 복사합니다. 활성 계층이 여전히 존재합니다.
다음 예제 시나리오에서는 최상위 계층에서 활성 사용자 지정을 사용하여 업그레이드를 수행한 후 대상 환경의 솔루션 계층에 어떤 일이 발생하는지 보여 줍니다.
원인 1의 대상에 있는 솔루션의 초기 상태
여기서 A, B 및 C는 솔루션 1, 솔루션 2 및 관리되지 않는 활성 계층의 솔루션 구성 요소 값입니다.
| 순서 | 솔루션 | 게시자 | 계층 상태 |
|---|---|---|---|
| 3 | 관리되지 않는 계층 (C) |
기본 게시자 | 활성 |
| 2 | 솔루션 2 (B) |
게시자 B | |
| 1 | 솔루션 1 (A) |
게시자 A |
원인 1에 대한 사용자 지정을 덮어쓰지 않고 솔루션 업그레이드
사용자 지정을 덮어쓰지 않고 새 값 D로 솔루션 2를 가져온 후 유효한 최상위 계층은 여전히 C로 유지되므로 솔루션 2를 B에서 D로 업그레이드한 후에는 D 값이 유효하지 않습니다.
| 순서 | 솔루션 | 게시자 | 계층 상태 |
|---|---|---|---|
| 3 | 관리되지 않는 계층 (C) |
기본 게시자 | 활성 |
| 2 | 솔루션 2 (D) |
게시자 B | |
| 1 | 솔루션 1 (A) |
게시자 A |
원인 1에 대한 사용자 지정 덮어쓰기를 사용하여 솔루션 업그레이드
새 값 D를 가져오기 위해, 사용자 지정 덮어쓰기 옵션을 사용하여 솔루션 2를 가져온 후. 업그레이드에서 사용자 지정 덮어쓰기를 사용할 때 값 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에 대한 사용자 지정을 덮어쓰지 않고 솔루션 업그레이드
사용자 지정을 덮어쓰지 않고 새 값 D로 솔루션 2를 가져온 후 유효한 최상위 계층이 솔루션 2에서 C로 유지되므로 D 값 은 업그레이드 후에 유효하지 않습니다.
| 순서 | 솔루션 | 게시자 |
|---|---|---|
| 3 | 솔루션 3 (C) |
게시자 C |
| 2 | 솔루션 2 (D) |
게시자 B |
| 1 | 솔루션 1 (A) |
게시자 A |
사용자 지정 덮어쓰기를 사용하여 솔루션 업그레이드
새 값 D를 사용하여 사용자 지정 덮어쓰기 옵션을 적용해 솔루션 2를 가져온 후 그러나 덮어쓰기 사용자 지정은 상위 활성 계층에만 값을 복사하므로 업그레이드 후에는 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 |