Arm UWP アプリのトラブルシューティング

Arm32 または Arm64 UWP アプリが Arm で正しく動作しない場合は、役立つガイダンスを次に示します。

注意

Arm64 プラットフォームをネイティブにターゲットとする UWP アプリケーションをビルドするには、Visual Studio 2017 バージョン 15.9 以降、または Visual Studio 2019 が必要です。 詳細については、 このブログの投稿を参照してください。

一般的な問題

Arm32 アプリと Arm64 アプリのトラブルシューティングを行うときに留意すべき一般的な問題をいくつか次に示します。

Arm ベースのプロセッサでWindows 10 Mobile専用 API を使用する

モバイル専用 API ( HardwareButtons など) を使用すると、Arm アプリで問題が発生する可能性があります。 これを軽減するには、それらの API を呼び出す前に Windows 10 Mobile でアプリが実行されているかどうかを動的に検出します。 詳細については、「 API コントラクトを使用した機能の動的検出」を参照してください。

UWP アプリによりサポートされていない依存関係の追加

Visual Studio と UWP SDK で適切に構築されていないユニバーサル Windows プラットフォーム (UWP) アプリは、Arm64 システムで実行されている Arm アプリでは使用できない OS コンポーネントに依存している可能性があります。 そのような依存関係の例は、次のとおりです。

  • .NET Framework の一部が使用可能であることが期待される。
  • UWP と互換性のないサード パーティの .NET コンポーネントを参照している。

これらの問題は、使用できない依存関係を削除し、最新の Microsoft Visual Studio および UWP SDK バージョンを使用してアプリを再構築することで解決できます。または最後の手段として、Microsoft Store から Arm アプリを削除して、x86 バージョンのアプリ (使用可能な場合) がユーザーの PC にダウンロードされるようにします。

UWP アプリに使用可能な .NET API について詳しくは、「UWP アプリの .NET」をご覧ください。

以前のバージョンの Visual Studio と SDK を使ったアプリのコンパイル

問題が発生した場合、最新バージョンの Microsoft Visual Studio と Windows SDK を使ってアプリをコンパイルしていることを確認します。 以前のバージョンの Visual Studio と SDK でコンパイルされたアプリでは、以降のバージョンで修正された問題が発生する可能性があります。

デバッグ

Arm プラットフォーム用のアプリを開発するために、既存のツールを使用できます。 便利なリソースを次に示します。

  • Visual Studio 15.5 Preview 1 以降では、ユニバーサル認証モードを使用した Arm32 アプリの実行がサポートされています。 これにより、必要なリモート デバッグ ツールが自動的にブートストラップされます。
  • Arm でのデバッグのツールと戦略の詳細については、「Arm64 でのデバッグ」を参照してください。