요약
.csproj 의 PropertyGroup를 아래와 같이 수정, 추가 해준다.
그 후 project\Properties\PublishProfiles\ 경로의 각 pubxml파일에도 RuntimeIdentifiers를 수정해준다.
마지막으로 nuget package를 winui 최신 sdk버전으로 업데이트 해준다.
수정 필요 코드
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
추가 필요 코드 // packaged 로 msix로 만드려면 이 두개를 추가하지 않는다.
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
csproj PropertyGroup 부분 종합
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>App10</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Platforms>x86;x64;ARM64</Platforms>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
</PropertyGroup>
===
ERROR CASE1
XamlCheckProcessRequirements(); 부분에서 아래 에러가 발생한 경우
System.DllNotFoundException: 'Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: 지정된 모듈을 찾을 수 없습니다. (0x8007007E)'
아래 구문이 추가되어있지 않은 경우
<WindowsPackageType>None</WindowsPackageType>
===
ERROR CASE2
예외 발생: 'System.DllNotFoundException'(Microsoft.WindowsAppRuntime.Bootstrap.Net.dll)
아래 이 구문이 추가가 되어있지 않거나, windows app sdk 가 알맞은 버전이 설치되어있지 않은 경우.
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
===
ERROR CASE3
디버깅하려면 먼저 프로젝트를 배포해야 합니다. Configuration Manager 배포를 사용하도록 설정하세요.
위 오류가 출력될 경우 바로 아래 구문을 주석처리 해보자.
<!--<WindowsPackageType>None</WindowsPackageType>-->
DEP1560: 매니페스트 파일 "C:\Users\choejaeho\source\repos\App10\App10\bin\ARM64\Release\net8.0-windows10.0.22621.0\win-arm64\AppxManifest.xml"을(를) 읽지 못했습니다. 이 파일을 다시 생성해야 할 수 있습니다. 오류를 수정하려면 솔루션 다시 빌드 명령을 실행하세요. FileNotFoundException - 'C:\Users\choejaeho\source\repos\App10\App10\bin\ARM64\Release\net8.0-windows10.0.22621.0\win-arm64\AppxManifest.xml' 파일을 찾을 수 없습니다. [0x80070002] - C:\Users\choejaeho\source\repos\App10\App10\bin\ARM64\Release\net8.0-windows10.0.22621.0\win-arm64\AppxManifest.xml
DEP1700: 조리법 파일 "C:\Users\choejaeho\source\repos\App10\App10\bin\x86\Release\net8.0-windows10.0.22621.0\win-x86\App10.build.appxrecipe"이(가) 없습니다. 프로젝트를 빌드해야 할 수도 있습니다.
이 DEP 오류 들의 경우에도 위 패키지 타입을 주석처리하거나 본인의 빌드 환경에 알맞은 x86 x64 arm 을 선택하여 빌드한다.
'winui3' 카테고리의 다른 글
winui 3 create single exe (3) | 2024.01.08 |
---|