다음을 통해 공유


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 프로세서에서 실행되는 Windows 디바이스 (예: Qualcomm의 스냅드래곤 프로세서) 는 더 이상 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. "활성 솔루션 플랫폼" 드롭다운 메뉴를 열고 새로 만들기...<를 선택합니다>.
  4. "새 플랫폼 입력 또는 선택" 드롭다운 메뉴에서 Arm64를 선택하고 "새 프로젝트 플랫폼 만들기" 확인란을 사용하도록 설정된 상태에서 "설정 복사" 값이 ARM으로 설정되어 있는지 확인한 다음 확인을 선택합니다.

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 버전의 앱을 빌드한 후 Microsoft Store에서 기존 앱 패키지를 업데이트할 수 있습니다. 파트너 센터 대시보드를 방문하여 새로 빌드된 ARM64 이진 파일을 제출에 추가합니다. 원하는 경우 이전 ARM32 이진 파일을 제거할 수도 있습니다.

게시 옵션에 대한 자세한 내용은 Microsoft Store에서 앱 게시를 참조하세요.

문제 해결

Arm32 앱을 Arm64로 포팅하는 동안 문제가 발생하는 경우 몇 가지 일반적인 해결 방법은 다음과 같습니다.

ARM64에 대해 컴파일되지 않은 종속성이 귀하의 성공적인 빌드를 방해하고 있습니다.

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

  • 내부 종속성의 경우 ARM64 지원에 대한 종속성을 다시 빌드합니다.

  • 타사 종속성에 대해 ARM64 지원을 사용하여 유지 관리자를 다시 빌드하도록 요청합니다.

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

  • 앱 프로젝트에 대한 종속성을 제거하고 대체합니다.

도움이 필요하신가요? App Assure 서비스 활용

Windows 앱 또는 드라이버를 Arm64로 포팅하는 데 도움이 되는 App Assure 호환성 지원에 대해 자세히 알아보세요. App Assure를 등록하고 연결하려면 aka.ms/AppAssureRequest 방문하세요.