將 Windows 應用程式移植到 Arm64:完整路徑
更新於 2026年6月5日
原生 Arm64 建置是讓你的應用程式在高速運行時節省電池電量,以及避免在 Prism 模擬 中緩慢爬行的重要關鍵。它還能解鎖模擬完全無法做到的功能:核心驅動程式、Shell 延伸模組、深度硬體整合。以下就是從僅支援 x64 到發佈原生 Arm64 的完整路徑。
第一步:優先審核你的相依性
這一步驟決定了移植的成功與否,而且必須在你觸碰任何一個建置設定之前完成。你應用程式載入的每個靜態函式庫、NuGet 套件、原生 DLL 和外掛程式都必須具備 Arm64(或 ARM64EC)建置。檢查完整的相依性樹狀結構。只要有一個僅支援 x64 的原生相依性沒有 Arm64 版本也無法取代,就表示你需要採用 ARM64EC,而非純 Arm64 移植。請在我們的目錄中查詢你的相依性,看看哪些已經提供原生版本。
第二步:新增 ARM64 方案平臺
在 Visual Studio(請使用 2022 17.4 以上版本)中:Configuration Manager → Active solution platform → <New...> → 選取 ARM64,從現有的 x64 平臺複製設定,勾選「Create new project platforms」。你的專案現在就有 Arm64 目標了。
第三步:安裝 Arm64 建置工具
透過 Visual Studio Installer,新增 Arm64 建置工具(MSVC Arm64 編譯器/程式庫)。你不需要 Arm 裝置來建置 — Visual Studio 可以從 x64 機器交叉編譯到 Arm64。
第四步:選擇原生建置或交叉編譯
有兩種有效設定:
- 裝置端(原生): 在 Snapdragon X 筆電上開發 — 你可以進行本機偵錯,並在目標裝置上執行測試套件。
- 交叉編譯(x64 主機): 速度更快、成本更低,但你無法在本機執行結果 — 你需要設定遠端偵錯到 Arm 裝置或 VM。
實務上的 CI 模式是:在 x64 上交叉編譯,再加上一個原生 Arm64 的測試工作;請參閱 CI/CD 指南。
第五步:當相依性阻礙你時 → 使用 ARM64EC
如果某個必要的相依性僅支援 x64 且無法取代,你不必一直停留在完全模擬的狀態。ARM64EC 讓原生 Arm64EC 程式碼和模擬的 x64 程式碼可以在同一個行程中共存 — 將你的熱點路徑重新編譯為原生,而頑固的 x64 相依性則繼續執行。詳細內容請參閱 ARM64EC 深度解析。
第六步:驗證並發佈
確認建置確實是原生的 — 工作管理員的「架構」欄位應顯示 ARM64(請參閱如何檢查)。然後發佈:當你的 Arm64 建置上架到 winget、Microsoft Store 或 GitHub Releases 時,像我們這樣的相容性追蹤工具就會偵測到,並將你的條目標示為原生。瀏覽原生應用程式目錄和原生佔比趨勢,看看你正在加入的生態系。
決策樹
- 所有相依性都有 Arm64 建置 → 純 Arm64,最佳結果。
- 有一兩個僅支援 x64 的相依性,且無法取代 → ARM64EC,漸進式。
- 有阻礙性的核心驅動程式相依性 → 這是驅動程式移植,屬於另一項工作。