WinUi 앱이 릴리스 환경에서 충돌하는 문제

WinUi 앱이 디버그 환경에서는 잘 작동하는데 릴리스 환경에서 그러지 않는 경우가 있다. 후자는 전자가 하지 않는 최적화를 하는데 이 과정에서 문제가 생기면 그런다. 이는 빌드를 하는 동안 output 창에 나온다.

WinUi 앱 릴리스 빌드를 할 때 unused code trimming이 제대로 작동하지 않는 경우가 흔하다. 무시해도 되는 최적화이니 작동하지 않게 하면 위의 문제가 해결된다.

메뉴를 이용해도 되고 파일을 직접 수정해도 된다. 전자가 더 편하니 해 보고 안 되면 파일을 직접 수정한다.

build > publish selection > win-x64.pubxml (원하는 플래트폼 선택) > show all settings > file publish options > trim unused code 체크되어 있으면 언체크

위 설정이 체크되어 있는 상태로 비활성화 되어 있으면 파일을 직접 수정한다.

solution explorer > project > properties > PublishProfiles > win-x64.pubxml (원하는 플래트폼 선택)

<PropertyGroup>
  <PublishTrimmed>false</PublishTrimmed>
...

true이면 false로 바꾸고 없으면 추가한다.