Aggiorna l'architettura dell'applicazione da Arm32 ad Arm64

Questa guida illustra i passaggi consigliati per cambiare un'applicazione esistente con il supporto per l'architettura Arm a 32 bit in un'architettura Arm a 64 bit più aggiornata, aggiungendo la configurazione necessaria con Visual Studio. Questo aggiornamento aiuterà la tua applicazione a funzionare sui più recenti dispositivi Windows on Arm che utilizzano processori Arm (ARM64/AArch64) a 64 bit.

Questo argomento è rilevante per le applicazioni UWP che non hanno un target ARM64. I vecchi modelli di progetto UWP generavano un target ARM32 (o AArch32), ma non includevano il supporto per ARM64 (AArch64).

Per verificare la piattaforma di soluzione attuale per la tua applicazione e vedere se è presente ARM64, apri il codice del progetto della tua applicazione in Visual Studio e nel menu a discesa "Piattaforme di soluzione" sulla barra degli strumenti Standard, seleziona Configuration Manager... (disponibile anche nel menu Build) dove potrai visualizzare l'elenco delle piattaforme della soluzione e confermare la presenza di ARM64.

Nota

I dispositivi Windows che utilizzano un processore Arm (ad esempio i processori Snapdragon di Qualcomm) non supporteranno più AArch32 (Arm32). Questa modifica ha un impatto sulle applicazioni della Universal Windows Platform che attualmente puntano su AArch32 (Arm32). Il supporto per le versioni Arm a 32 bit delle applicazioni sarà rimosso in una versione futura di Windows 11.. Anche i binari di sistema per il supporto ARM32 (presenti nella cartella sysarm32 ) saranno rimossi. Dopo questa modifica, per il piccolo numero di applicazioni interessate, le funzioni delle app potrebbero essere diverse e potresti notare una differenza nelle prestazioni. Pertanto, ti consigliamo di aggiornare al più presto le tue piattaforme mirate a AArch64 (Arm64), che è supportato da tutti i dispositivi Windows on Arm, per garantire ai tuoi clienti la migliore esperienza possibile. Segui le indicazioni di questa pagina per aggiornare le tue applicazioni a AArch64 (Arm64).

Aggiungi una configurazione Arm64 al tuo progetto

Per aggiungere una piattaforma ARM64 al codice del tuo progetto app esistente:

  1. Apri la tua soluzione (codice del progetto) in Visual Studio (è necessario Visual Studio 2017 versione 15.9 o più recente).
  2. Nel menu a tendina "Piattaforme di soluzioni" della barra degli strumenti Standard (o nel menu "Costruisci"), seleziona Configuration Manager...
  3. Apri il menu a tendina "Piattaforma di soluzioni attive" e seleziona <nuovo...>.
  4. Nel menu a tendina "Digita o seleziona la nuova piattaforma", seleziona ARM64 e assicurati che il valore "Copia impostazioni da" sia impostato su ARM con la casella di controllo "Crea nuove piattaforme di progetto" attivata, quindi seleziona OK.

Costruisci la tua soluzione Arm64

Una volta aggiunta la piattaforma Arm64 al tuo progetto o soluzione esistente, se vuoi confermare che la versione Arm64 della tua applicazione viene compilata correttamente, chiudi la finestra "Piattaforma attiva della soluzione" e cambia l'impostazione di compilazione da Debug a Release. Nel menu a tendina "Build", seleziona Rebuild Solution e attendi che il progetto venga ricostruito. Dovresti ricevere l'output "Rebuild All succeeded". In caso contrario, consulta la sezione Risoluzione dei problemi .

(facoltativo): Verifica che il binario della tua applicazione sia stato creato per l'architettura Arm64 aprendo la directory del progetto in PowerShell (fai clic con il tasto destro del mouse sul progetto dell'applicazione in Visual Studio Solution Explorer e seleziona Open in Terminal). Cambia directory in modo da selezionare la nuova directory bin\ARM64\Release del tuo progetto. Inserisci il comando: dumpbin .\<appname>.exe (sostituendo <appname> con il nome della tua applicazione). Quindi inserisci il comando: dumpbin /headers .\<appname>.exe. Scorrendo verso l'alto nei risultati di output del tuo terminale, trova la sezione FILE HEADER VALUES e conferma che la prima riga è AA64 machine (ARM64).

Pubblica la tua app aggiornata nel Microsoft Store

Una volta creata una versione Arm64 della tua applicazione seguendo i passaggi di configurazione sopra descritti, puoi aggiornare il tuo pacchetto di applicazioni esistente nel Microsoft Store visitando la dashboard del tuo Partner Center e aggiungendo i nuovi binari ARM64 alla presentazione. (È possibile rimuovere anche i binari ARM32 precedenti).

(facoltativamente) rimuovendo i binari Arm32 precedenti. Per maggiori informazioni sulle opzioni, consulta Pubblicare l'applicazione nel Microsoft Store.

Risoluzione dei problemi

Se incontri dei problemi durante il porting della tua applicazione Arm32 ad Arm64, ecco alcune soluzioni comuni.

Una dipendenza non compilata per ARM64 ti sta impedendo di completare la compilazione con successo

Se non riesci a compilare a causa di una dipendenza, sia essa interna, di terze parti o di una libreria open-source, dovrai trovare un modo per aggiornare tale dipendenza per supportare l'architettura ARM64 o rimuoverla.

  • Per le dipendenze interne, consigliamo di ricostruire la dipendenza per il supporto ARM64.

  • Per le dipendenze di terze parti, si consiglia di richiedere al manutentore la ricostruzione con supporto ARM64.

  • Per le dipendenze open source, ti consigliamo di controllare prima vcpkg per vedere se esiste una versione più recente della dipendenza che includa il supporto ARM64 a cui puoi aggiornare. Se non esiste un aggiornamento, considera di contribuire tu stesso all'aggiunta del supporto ARM64 al pacchetto. Molti manutentori dell'open source sarebbero grati per il contributo.

  • L'ultima scelta è quella di rimuovere e/o sostituire la dipendenza nel progetto dell'applicazione.

Hai bisogno di assistenza? Sfrutta il nostro servizio App Assure

Scopri di più sull'assistenza alla compatibilità di App Assure per aiutarti a portare la tua applicazione o il tuo driver Windows su Arm64. Per registrarti e connetterti con App Assure, visita aka.ms/AppAssureRequest o invia un'e-mail a achelp@microsoft.com per inviare la tua richiesta di supporto per la compatibilità con Windows on Arm.