Skip to content

把 Windows 应用移植到 Arm64:完整路径

更新于 2026年6月5日

Arm64 原生构建,决定了你的应用是满速省电运行,还是在 Prism 模拟里爬行。它还能解锁模拟根本做不到的东西:内核驱动、Shell 扩展、深度硬件集成。下面是从「仅 x64」到「发布 Arm64 原生版」的完整路径。

第 1 步:先审计依赖

这一步决定移植成败,且要在你动任何构建设置之前完成。应用加载的每个静态库、NuGet 包、原生 DLL 和插件,都必须有 Arm64(或 ARM64EC)构建。走一遍完整的依赖树。如果有一个仅 x64 的原生依赖,既无 Arm64 版本又无替代——这就是你需要 ARM64EC 而非纯 Arm64 移植的信号。到我们的目录查一下哪些依赖已有原生版。

第 2 步:添加 ARM64 解决方案平台

在 Visual Studio(用 2022 17.4+):配置管理器 → 活动解决方案平台 → <新建...> → 选 ARM64,从现有 x64 平台复制设置,勾选「创建新的项目平台」。项目现在有了 Arm64 目标。

第 3 步:安装 Arm64 构建工具

通过 Visual Studio 安装程序,添加 Arm64 构建工具(MSVC Arm64 编译器/库)。构建不需要 Arm 设备——Visual Studio 能从 x64 机器交叉编译到 Arm64。

第 4 步:原生构建还是交叉编译

两种可行配置:

  • 设备端(原生): 在骁龙 X 笔记本上开发——可本地调试,可在目标机上跑测试套件。
  • 交叉编译(x64 主机): 更快更省,但结果跑不了本地——需要配置到 Arm 设备或虚拟机的远程调试。

务实的 CI 模式是 x64 上交叉编译 + 一个 Arm64 原生任务跑测试;见 CI/CD 指南。

第 5 步:依赖卡住时 → ARM64EC

如果某个必需依赖仅有 x64 版且无法替换,你不必整个停留在模拟。ARM64EC 让原生 Arm64EC 代码与模拟的 x64 代码共享同一进程——把热点路径重编译为原生,让顽固的 x64 依赖继续跑。完整细节见 ARM64EC 深度解析。

第 6 步:验证并发布

确认构建确实是原生——任务管理器的「体系结构」列应显示 ARM64(见检查方法)。然后发布:你的 Arm64 构建一登上 winget、微软商店或 GitHub Releases,像我们这样的兼容性追踪器就会检测到并把你的条目翻成原生。浏览原生应用目录和原生占比趋势,看看你正在加入的生态。

决策树

  • 所有依赖都有 Arm64 构建 → 纯 Arm64,最佳结果。
  • 一两个仅 x64 依赖、无替代 → ARM64EC,渐进式。
  • 有阻塞性的内核驱动依赖 → 那是驱动移植,另一项工程。

← 全部指南