次の方法で共有


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 が存在するかどうかを確認できます。

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. [Active solution platform]\(アクティブ なソリューション プラットフォーム\) ドロップダウン メニューを開き、[新規 <選択します。..>
  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 バージョンをビルドした後、Microsoft Store で既存のアプリ パッケージを更新できます。 パートナー センター ダッシュボードにアクセスし、新しくビルドされた ARM64 バイナリを申請に追加します。 必要に応じて、前の ARM32 バイナリを削除することもできます。

発行オプションの詳細については、「 Microsoft Store でアプリを発行する」を参照してください。

トラブルシューティング

Arm32 アプリを Arm64 に移植するときに問題が発生した場合は、いくつかの一般的な解決策を次に示します。

ARM64 用にコンパイルされていない依存関係によって、ビルドが成功するのを妨げている

依存関係が原因でビルドできない場合は、内部、サードパーティ、またはオープンソース ライブラリから、ARM64 アーキテクチャをサポートするように依存関係を更新するか、削除する必要があります。

  • 内部依存関係の場合は、ARM64 サポートの依存関係を再構築します。

  • サード パーティの依存関係の場合は、ARM64 サポートを使用してリビルドするようにメンテナーに要求します。

  • オープン ソースの依存関係については、 vcpkg を調べて、更新先の ARM64 サポートが新しいバージョンの依存関係に含まれているかどうかを確認します。 更新プログラムが存在しない場合は、ARM64 サポートをパッケージに追加することを検討してください。 多くのオープンソースの保守担当者は、この貢献に感謝するでしょう。

  • アプリ プロジェクトへの依存関係を削除して置き換えます。

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

Windows アプリまたはドライバーを Arm64 に移植するのに役立つ App Assure 互換性サポートの について詳しく説明します。 App Assure に登録して接続するには、aka.ms/AppAssureRequest にアクセス してください