Arm32에서 Arm64로 앱 아키텍처 업데이트

이 가이드에서는 Visual Studio로 필요한 구성을 추가하여 32비트 Arm 플랫폼 아키텍처를 지원하는 기존 앱을 업데이트된 64비트 Arm 아키텍처로 변경하는 데 권장되는 단계를 설명합니다. 이 업데이트는 64비트 Arm(ARM64/AArch64) 프로세서를 사용하는 최신 Windows on Arm 디바이스에서 앱을 실행하는 데 도움이 됩니다.

이 토픽은 ARM64 대상이 없는 UWP 앱과 관련이 있습니다. 이전 UWP 프로젝트 템플릿은 ARM32(또는 AArch32) 대상을 생성했으나, ARM64(AArch64)에 대한 지원은 포함하지 않았습니다.

앱의 현재 솔루션 플랫폼에 검사 ARM64가 있는지 확인하려면 Visual Studio에서 앱 프로젝트 코드를 열고 표준 도구 모음의 '솔루션 플랫폼' 드롭다운 메뉴에서 솔루션 플랫폼 목록을 보고 ARM64가 있는지 확인할 수 있는 Configuration Manager...(빌드 메뉴에서도 사용 가능)를 선택합니다.

참고

Arm 프로세서 (예: Qualcomm의 스냅드래곤 프로세서)에서 실행되는 Windows 디바이스는 더 이상 AArch32(Arm32)를 지원하지 않습니다. 이 변경 내용은 현재 AArch32(Arm32)를 대상으로 하는 유니버설 Windows 플랫폼 앱에 영향을 미칩니다. 32비트 Arm 버전의 애플리케이션에 대한 지원은 추후 Windows 11 릴리스에서 제거될 예정입니다. ARM32 지원을 위한 시스템 이진 파일(sysarm32 폴더에 있음)도 제거됩니다. 해당 변경 사항에 영향을 받는 소수의 애플리케이션에 대해 앱 기능이 다를 수 있으며 성능에 차이가 있을 수 있습니다. 따라서 고객이 최상의 환경을 계속 즐길 수 있도록 가능한 한 빨리 모든 Windows on Arm 장치에서 지원되는 AArch64(Arm64)로 대상 플랫폼을 업데이트하는 것을 권장합니다. 이 페이지의 지침에 따라 애플리케이션을 AArch64(Arm64)로 업데이트하십시오.

프로젝트에 ARM64 구성을 추가합니다.

기존 앱 프로젝트 코드에 ARM64 솔루션 플랫폼을 추가하려면 다음을 수행합니다.

  1. Visual Studio에서 솔루션(프로젝트 코드)을 엽니다(Visual Studio 2017 버전 15.9 이상이 필요).
  2. 표준 도구 모음의 '솔루션 플랫폼' 드롭다운 메뉴(또는 '빌드' 메뉴)에서 Configuration Manager...를 선택합니다.
  3. '활성 솔루션 플랫폼' 드롭다운 목록에서 <new...>를 선택합니다.
  4. '새 플랫폼 입력 또는 선택' 드롭다운 메뉴에서 ARM64를 선택하고 '새 프로젝트 플랫폼 만들기' 검사 상자가 활성화된 상태에서 '설정 복사' 값이 ARM로 설정되어 있는지 확인하고 OK를 선택합니다.

Arm64 솔루션 빌드

Arm64 솔루션 플랫폼을 기존 프로젝트 또는 솔루션에 추가한 후에는 Arm64 버전의 앱이 올바르게 빌드되는지 확인하려면 '활성 솔루션 플랫폼' 창을 닫고 빌드 설정을 디버그에서 릴리스로 변경합니다. '빌드' 드롭다운 메뉴에서 솔루션 다시 빌드를 선택하고 프로젝트가 다시 빌드되는 것을 기다립니다. '모두 다시 빌드하기 성공' 출력이 표시되어야 합니다. 그렇지 않은 경우 아래의 문제 해결 섹션을 참조하십시오.

(선택 사항): PowerShell에서 프로젝트 디렉터리를 열어 Arm64 아키텍처용으로 앱 이진 파일이 빌드되어 있는지 확인합니다(Visual Studio 솔루션 탐색기 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 터미널에서 열기 선택). 프로젝트의 새 bin\ARM64\Release 디렉터리가 선택되도록 디렉터리를 변경합니다. 다음 dumpbin .\<appname>.exe 명령을 입력합니다(<appname>을(를) 앱 이름으로 바꾸기). 그런 다음, dumpbin /headers .\<appname>.exe 명령을 입력합니다. 터미널의 출력 결과에서 위로 스크롤하여 FILE HEADER VALUES 섹션을 찾고 첫 번째 줄이 AA64 machine (ARM64)인지 확인합니다.

Microsoft Store에 업데이트된 앱 게시

위의 구성 단계에 따라 Arm64 버전의 앱을 빌드한 후에 파트너 센터 대시보드를 방문하여 새로 빌드된 ARM64 이진 파일을 제출에 추가하여 Microsoft Store에서 기존 앱 패키지를 업데이트할 수 있습니다. (이전 ARM32 이진 파일도 제거하는 옵션입니다).

(선택 사항) 이전 Arm32 이진 파일을 제거합니다. 옵션에 대한 자세한 내용은 Microsoft Store에서 앱 게시를 참조하세요.

문제 해결

Arm32 앱을 Arm64로 포팅하는 동안 문제가 발생하는 경우 다음 몇 가지 일반적인 해결 방법을 참고하십시오.

ARM64에 대해 컴파일되지 않은 종속성에 따라 성공적인 빌드가 차단됩니다.

내부, 타사 또는 오픈 소스 라이브러리에서 종속성에 따라 빌드할 수 없는 경우 ARM64 아키텍처를 지원하도록 해당 종속성을 업데이트하거나 제거하는 방법을 찾아야 합니다.

  • 내부 종속성의 경우 ARM64 지원에 대한 종속성을 다시 빌드하는 것이 좋습니다.

  • 써드파티 종속성에 대해 ARM64 지원을 사용하여 유지 관리자를 다시 빌드하도록 요청하는 것이 좋습니다.

  • 오픈 소스 종속성의 경우 업데이트할 수 있는 ARM64 지원을 포함하는 최신 버전의 종속성이 있는지 확인하기 위해 vcpkg를 검사하는 것을 권장합니다. 업데이트가 없는 경우 ARM64 지원을 패키지에 직접 추가하는 것이 좋습니다. 많은 오픈 소스 유지 관리자는 기여에 감사할 것입니다.

  • 마지막으로 선택할 사항은 앱 프로젝트에 대한 종속성을 제거 및/또는 대체하는 것입니다.

지원이 필요하십니까? App Assure 서비스 활용

Windows 앱 또는 드라이버를 Arm64로 포팅하는 데 도움이 되는 App Assure 호환성 지원에 대해 자세히 알아보세요. App Assure를 등록하고 연결하려면 aka.ms/AppAssureRequest 방문하거나 achelp@microsoft.com에 메일을 보내 Windows on Arm 호환성 지원에 대한 요청을 제출합니다.