Actualización de la arquitectura de la aplicación de Arm32 a Arm64
En esta guía se tratarán los pasos recomendados para cambiar una aplicación existente con compatibilidad con la arquitectura de la plataforma Arm de 32 bits a la arquitectura arm de 64 bits más actualizada agregando la configuración necesaria mediante Visual Studio. Esta actualización ayudará a la aplicación a ejecutarse en los dispositivos Windows en Arm más recientes que usan procesadores Arm (ARM64/AArch64) de 64 bits.
Este tema es relevante para las aplicaciones para UWP que no tienen un destino ARM64. Las plantillas de proyecto de UWP anteriores generaron un destino arm32 (o AArch32), pero no incluyeron compatibilidad con ARM64 (AArch64).
Para comprobar la plataforma de soluciones actual de la aplicación para ver si ARM64 está presente, abra el código del proyecto de aplicación en Visual Studio y, en el menú desplegable "Plataformas de soluciones" de la barra de herramientas Estándar, seleccione Configuration Manager... (también disponible en el menú Compilar), donde podrá ver la lista de plataformas de soluciones y confirmar si ARM64 está presente.
Nota
Los dispositivos Windows que se ejecutan en un procesador Arm (por ejemplo, procesadores Docker de Qualcomm) ya no admitirán AArch32 (Arm32). Este cambio afecta a Plataforma universal de Windows aplicaciones que actualmente tienen como destino AArch32 (Arm32). La compatibilidad con versiones arm de 32 bits de las aplicaciones se quitará en una versión futura de Windows 11. También se quitarán los archivos binarios del sistema para la compatibilidad con ARM32 (presentes en la carpeta sysarm32 ). Después de este cambio, para el pequeño número de aplicaciones afectadas, las características de la aplicación pueden ser diferentes y es posible que observe una diferencia en el rendimiento. Por lo tanto, se recomienda actualizar las plataformas de destino a AArch64 (Arm64), que se admite en todos los dispositivos Windows en Arm, lo antes posible para garantizar que los clientes puedan seguir disfrutando de la mejor experiencia posible. Siga las instrucciones de esta página para actualizar las aplicaciones a AArch64 (Arm64).
Para agregar una plataforma de solución ARM64 al código del proyecto de aplicación existente:
- Abra la solución (código de proyecto) en Visual Studio (se requiere Visual Studio 2017, versión 15.9 o posterior).
- En el menú desplegable "Plataformas de soluciones" de la barra de herramientas Estándar (o en el menú "Compilar"), seleccione Administrador de configuración...
- Abra el menú desplegable "Plataforma de soluciones activas" y seleccione nuevo...>.<
- En el menú desplegable "Escriba o seleccione la nueva plataforma", seleccione ARM64 y asegúrese de que el valor "Copiar configuración desde" esté establecido en ARM con la casilla "Crear nuevas plataformas de proyecto" habilitada y, a continuación, seleccione Aceptar.
Una vez que haya agregado la plataforma de solución Arm64 a su proyecto o solución existente, si desea confirmar que la versión arm64 de la aplicación se compila correctamente, cierre la ventana "Plataforma de solución activa" y cambie la configuración de compilación de Depurar a Versión. En el menú desplegable "Compilar", seleccione Volver a compilar solución y espere a que se vuelva a compilar el proyecto. Debería recibir una salida "Recompilar todo correctamente". Si no es así, consulte la sección de Solución de problemas a continuación.
(Opcional) : compruebe que el binario de la aplicación ya está compilado para la arquitectura arm64 abriendo el directorio del proyecto en PowerShell (haga clic con el botón derecho en el proyecto de la aplicación en Visual Studio Explorador de soluciones y seleccione Abrir en terminal). Cambie los directorios para que se seleccione el nuevo bin\ARM64\Release
directorio del proyecto. Escriba el comando: dumpbin .\<appname>.exe
(reemplazando <appname>
por el nombre de la aplicación). A continuación, escriba el comando : dumpbin /headers .\<appname>.exe
. Desplácese hacia arriba en los resultados de salida del terminal, busque la FILE HEADER VALUES
sección y confirme que la primera línea es AA64 machine (ARM64)
.
Una vez que haya creado una versión arm64 de la aplicación siguiendo los pasos de configuración anteriores, puede actualizar el paquete de aplicación existente en Microsoft Store visitando el panel del Centro de partners y agregando los archivos binarios arm64 recién creados al envío. (Es una opción para quitar también los archivos binarios arm32 anteriores).
(opcionalmente) quitando los archivos binarios anteriores de Arm32. Para obtener más información sobre las opciones, consulta Publicar la aplicación en Microsoft Store.
Si tiene problemas al migrar la aplicación Arm32 a Arm64, estas son algunas soluciones comunes.
Si no se puede compilar debido a una dependencia, ya sea interna, de un tercero o de una biblioteca de código abierto, deberá encontrar una manera de actualizar esa dependencia para admitir la arquitectura ARM64 o quitarla.
En el caso de las dependencias internas, se recomienda volver a generar la dependencia para la compatibilidad con ARM64.
En el caso de las dependencias de terceros, se recomienda presentar una solicitud para que desarrollador recompile con compatibilidad con ARM64.
Para código abierto dependencias, se recomienda comprobar primero vcpkg para ver si existe una versión más reciente de la dependencia que incluye compatibilidad con ARM64 a la que puede actualizar. Si no existe ninguna actualización, considere la posibilidad de contribuir a la adición de compatibilidad con ARM64 al paquete usted mismo. Muchos desarrolladores de código abierto estarán agradecidos por la contribución.
La última opción sería quitar o reemplazar la dependencia en el proyecto de la aplicación.
Obtenga más información sobre la asistencia de compatibilidad de App Assure para ayudar a migrar la aplicación o el controlador de Windows a Arm64. Para registrarse y conectarse con App Assure, visite aka.ms/AppAssureRequest o envíe un correo electrónico para achelp@microsoft.com enviar su solicitud de soporte técnico de compatibilidad de Windows en Arm.
Comentarios de Windows on Arm
Windows on Arm es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: