このガイドでは、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 ソリューション プラットフォームを既存のアプリ プロジェクト コードに追加するには:
- Visual Studio でソリューション (プロジェクト コード) を開きます (Visual Studio 2017 バージョン 15.9 以降が必要です)。
- 標準ツール バーの [ソリューション プラットフォーム] ドロップダウン メニュー (または [ビルド] メニュー) で、Configuration Manager 選択します。..
- [Active solution platform]\(アクティブ なソリューション プラットフォーム\) ドロップダウン メニューを開き、[新規 <選択します。..>。
- [Type or select the new platform]\(新しいプラットフォームを入力または選択する\) ドロップダウン メニューで、ARM64
選択し、[Create new project platforms]\(新しいプロジェクト プラットフォームの作成\) チェックボックスが有効になっている [copy settings from]\(設定のコピー元\) の値が [ ARM に設定されていることを確認してから、[OK]選択します。
Arm64 ソリューションを構築する
Arm64 ソリューション プラットフォームを既存のプロジェクトまたはソリューションに追加したら、Arm64 バージョンのアプリが正しくビルドされていることを確認するには、[アクティブ なソリューション プラットフォーム] ウィンドウを閉じて、ビルド設定を [デバッグ] から [
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 サポートを使用してリビルドするようにメンテナーに要求を提出することをお勧めします。
オープン ソースの依存関係の場合は、まず vcpkg
確認して、ARM64 サポートを含む依存関係の新しいバージョンが存在するかどうかを確認することをお勧めします。 更新プログラムが存在しない場合は、ARM64 サポートをパッケージに追加することを検討してください。 多くのオープンソースの保守担当者は、この貢献に感謝するでしょう。 最後の選択肢は、アプリ プロジェクトへの依存関係を削除したり置き換えたりすることです。
サポートが必要ですか? App Assure サービスを活用する
Windows アプリまたはドライバーを Arm64 に移植するのに役立つ App Assure 互換性サポートの について詳しく説明します。 App Assure に登録して接続するには、aka.ms/AppAssureRequest にアクセスするか、achelp@microsoft.com に電子メールを送信して、Windows on Arm 互換性サポートの要求を送信します。
Windows on Arm