Arm32 から Arm64 へのアプリ アーキテクチャの更新

このガイドでは、Visual Studio を使用して必要な構成を追加することで、32 ビット Arm プラットフォーム アーキテクチャをサポートする既存のアプリを、より更新された 64 ビット Arm アーキテクチャに変更するための推奨手順について説明します。 この更新プログラムは、64 ビット Arm (ARM64/AArch64) プロセッサを使用する Arm デバイス上の最新の Windows でアプリを実行するのに役立ちます。

このトピックは、ARM64 ターゲットを持たない UWP アプリに関連します。 以前の UWP プロジェクト テンプレートでは ARM32 (または AArch32) ターゲットが生成されましたが、ARM64 (AArch64) のサポートは含まれていませんでした。

アプリの現在のソリューション プラットフォームをチェックして ARM64 が存在するかどうかを確認するには、Visual Studio でアプリ プロジェクト コードを開き、標準ツール バーの [ソリューション プラットフォーム] ドロップダウン メニューで Configuration Manager を選択します。([ビルド] メニューでも使用できます)。ソリューション プラットフォームの一覧を表示し、ARM64 が存在するかどうかを確認できます。

Note

Arm プロセッサ で実行されている Windows デバイス (Qualcomm の Snapdragon プロセッサなど) では、AArch32 (Arm32) はサポートされなくなりました。 この変更は、現在 AArch32 (Arm32) を対象とするユニバーサル Windows プラットフォームアプリに影響します。 32 ビット Arm バージョンのアプリケーションのサポートは、Windows 11 の将来のリリースで削除される予定です。 ARM32 サポート用のシステム バイナリ (sysarm32 フォルダーに存在) も削除されます。 この変更後、影響を受けるアプリケーションの数が少ない場合、アプリの機能が異なる場合があり、パフォーマンスの違いに気付く場合があります。 そのため、ターゲット プラットフォームを AArch64 (Arm64) に更新することをお勧めします。これは、お客様が引き続き最高のエクスペリエンスを楽しんでいただくために、できるだけ早く、すべての Windows on Arm デバイスでサポートされています。 このページのガイダンスに従って、アプリケーションを AArch64 (Arm64) に更新します。

Arm64 構成をプロジェクトに追加する

ARM64 ソリューション プラットフォームを既存のアプリ プロジェクト コードに追加するには:

  1. Visual Studio でソリューション (プロジェクト コード) を開きます (Visual Studio 2017 バージョン 15.9 以降が必要です)。
  2. 標準ツール バーの [ソリューション プラットフォーム] ドロップダウン メニュー (または [ビルド] メニュー) で、Configuration Manager を選択 します。
  3. [アクティブ なソリューション プラットフォーム] ドロップダウン メニューを開き、[新規] を選択 <します。..>.
  4. [Type or select the new platform]\(新しいプラットフォームを入力または選択する\) ドロップダウン メニューで ARM64 を選択し、[Create new project platforms]\(新しいプロジェクト プラットフォームの作成\) チェックボックスが有効になっている [Copy settings from]\(設定のコピー元\) の値が ARM に設定されていることを確認してから、[OK] を選択します

Arm64 ソリューションを構築する

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 サポートの依存関係を再構築することをお勧めします。

  • サード パーティの依存関係の場合は、ARM64 サポートを使用して再構築するために、メインtainer に要求を提出することをお勧めします。

  • オープンソース依存関係の場合は、まず vcpkg をチェックして、ARM64 のサポートを含む依存関係の新しいバージョンが存在するかどうかを確認することをお勧めします。 更新プログラムが存在しない場合は、ARM64 サポートをパッケージに追加することを検討してください。 多くのオープンソース メイン人は貢献に感謝するでしょう。

  • 最後の選択肢は、アプリ プロジェクトへの依存関係を削除したり置き換えたりすることです。

サポートが必要ですか? App Assure サービスを活用する

Windows アプリまたはドライバーを Arm64 に移植するのに役立つ App Assure 互換性サポート の詳細について説明します。 App Assure に登録して接続するには、aka.ms/AppAssureRequest にアクセスするか、メールを送信して achelp@microsoft.com Windows on Arm 互換性サポートの要求を送信します。