將應用程式架構從 Arm32 更新為 Arm64
本文內容
將 ARM64 組態新增至您的專案。
建置您的 Arm64 解決方案
將您的已更新應用程式發佈在 Microsoft Store 中
疑難排解
本指南將涵蓋將現有應用程式變更為支援 32 位元 Arm 平台架構的建議步驟,透過使用 Visual Studio 新增必要的組態,將更新的 64 位元 Arm 架構新增至更新的 64 位元 Arm 架構。 此更新可協助您的應用程式在使用 64 位元 Arm (ARM64/AArch64) 處理器的最新 Windows 上執行。
本主題與沒有 ARM64 目標的 UWP 應用程式相關。 舊版 UWP 專案範本會產生 ARM32 (或 AArch32) 目標,但不包含 ARM64 (AArch64) 的支援。
若要檢查您應用程式的目前解決方案平台,以查看 ARM64 是否存在,請在 Visual Studio 中開啟您的應用程式專案程式碼,然後在 [標準] 工具列的 [解決方案平台] 下拉式功能表中,選取 [組態管理員... ],您可以在其中檢視解決方案平台清單,並確認 ARM64 是否存在。
注意
在 Arm 處理器上執行的 Windows 裝置 (例如來自 Qualcomm 的 Snapdragon 處理器) 將不再支援 AArch32 (Arm32)。 這項變更會影響目前以 AArch32 (Arm32) 為目標的應用程式通用 Windows 平台。 在 Windows 11 的未來版本中,將移除對 32 位元 Arm 版本應用程式的支援 。 也會移除 ARM32 支援的系統二進位檔 (出現在 sysarm32 資料夾中)。 在這項變更之後,針對少數受影響的應用程式,應用程式功能可能會不同,而且您可能會注意到效能的差異。 因此,建議您儘快將目標平台更新為 AArch64 (Arm64),該平台在 Arm 裝置上所有 Windows 上都受到支援,以確保您的客戶能夠繼續享有最佳體驗。 請遵循此頁面上的指引,將您的應用程式更新為 AArch64 (Arm64)。
若要將 ARM64 解決方案平台新增至現有的應用程式項目程式碼:
在 Visual Studio 中開啟您的解決方案 (專案程式碼) (需要 Visual Studio 2017 15.9 版或更新版本)。
在 [標準] 工具列的 [解決方案平台] 下拉式功能表中,選取 [組態管理員... ]
開啟 [作用中解決方案平台] 下拉式功能表,然後選取 [新增...]<> 。
在 [輸入或選取新平台] 下拉式功能表中,選取 ARM64 ,並確定 [複製設定值來源] 值設定為 ARM 並啟用 [建立新專案平台] 核取方塊,然後選取 [確定] 。
將 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 版本的應用程式,就可以瀏覽合作夥伴中心儀表板 ,並將新建的 ARM64 二進位檔新增至提交,以更新 Microsoft Store 中的現有應用程式套件。 (您也可以選擇移除先前的 ARM32 二進位檔)。
(選用) 移除先前的 Arm32 二進位檔。 如需選項的詳細資訊,請參閱在 Microsoft Store 中發布您的應用程式 。
如果您在將 Arm32 應用程式移植到 Arm64 時遇到問題,以下提供一些常見的解決方案。
如果您因為相依性、內部、第三方或開放原始碼程式庫而無法建置,您必須尋找方法來更新該相依性來支援 ARM64 架構或移除它。
針對內部相依性,建議您重建 ARM64 支援的相依性。
針對第三方相依性,我們建議提出要求維護者使用 ARM64 支援重建。
針對開放原始碼相依性,我們建議先檢查 vcpkg ,以查看包含 ARM64 支援的較新版本是否存在相依性,讓您可以更新為該相依性。 如果沒有更新,請考慮自行新增 ARM64 支援至套件。 許多開放原始碼維護人員都受到此付出的幫助。
最後一個選擇是移除和/或取代應用程式專案的相依性。
深入了解 App 保證相容性協助 ,以協助將 Windows 應用程式或驅動程式移植到 Arm64。 若要向 App 保證註冊並連線,請瀏覽 aka.ms/AppAssureRequest 或傳送電子郵件至 achelp@microsoft.com ,以提交您的 Windows on Arm 相容性支援要求。