UWP アプリを ARM のトラブルシューティングTroubleshooting ARM UWP apps

場合は、ARM32 または ARM64 UWP アプリは、ARM で正しく機能していない、役立つ可能性のあるいくつかのガイダンスを示します。If your ARM32 or ARM64 UWP app isn't working correctly on ARM, here's some guidance that may help.

注意

ネイティブ ARM64 プラットフォームを対象とする UWP アプリケーションを構築するには、Visual Studio 2017 バージョン 15.9 以降が必要です。To build your UWP application to natively target the ARM64 platform, you must have Visual Studio 2017 version 15.9 or later. 詳細については、次を参照してください。このブログの投稿します。For more information, see this blog post.

一般的な問題Common issues

ここでは、一般的な問題がいくつか ARM32 および ARM64 のアプリのトラブルシューティングを行うときに注意してください。Here are some common issues to keep in mind when troubleshooting ARM32 and ARM64 apps.

ARM ベースのプロセッサでの Windows 10 Mobile 専用 API の使用Using Windows 10 Mobile-only APIs on ARM-based processors

モバイル専用の Api を使用する場合、問題に ARM アプリが実行可能性があります (たとえば、 HardwareButtons)。ARM apps may run into problems when using mobile-only APIs (for example, HardwareButtons). これを軽減するには、それらの API を呼び出す前に Windows 10 Mobile でアプリが実行されているかどうかを動的に検出します。To mitigate this, you can dynamically detect whether your app is running on Windows 10 Mobile before calling these APIs. API コントラクトを使った機能の動的な検出に関するブログ投稿のガイダンスに従います。Follow the guidance in the blog post, Dynamically detecting features with API contracts.

UWP アプリによりサポートされていない依存関係の追加Including dependencies not supported by UWP apps

Visual Studio と UWP SDK に組み込まれていない正しくユニバーサル Windows プラットフォーム (UWP) アプリによっては、ARM64 のシステムで実行されている ARM アプリを使用できない OS コンポーネントに依存関係があります。Universal Windows Platform (UWP) apps that aren't properly built with Visual Studio and the UWP SDK may have dependencies on OS components that aren't available to ARM apps running on an ARM64 system. そのような依存関係の例は、次のとおりです。Examples of these dependencies include:

  • .NET Framework の一部が使用可能であることが期待される。Expecting parts of the .NET Framework to be available.
  • UWP と互換性のないサード パーティの .NET コンポーネントを参照している。Referencing third-party .NET components that aren't compatible with UWP.

これらの問題を解決できます: 利用不可の依存関係を削除して、最新の Microsoft Visual Studio と UWP SDK バージョンの; を使用して、アプリを再構築または、Microsoft Store から ARM アプリを削除する最後の手段としてように x86 (該当する場合)、アプリのバージョンは、ユーザーの Pc にダウンロードされます。These issues can be resolved by: removing the unavailable dependencies and rebuilding the app by using the latest Microsoft Visual Studio and UWP SDK versions; or as a last resort, removing the ARM app from the Microsoft Store, so that the x86 version of the app (if available) is downloaded to users’ PCs.

UWP アプリに使用可能な .NET API について詳しくは、「UWP アプリの .NET」をご覧ください。For more info on .NET APIs available for UWP apps, see .NET for UWP apps

以前のバージョンの Visual Studio と SDK を使ったアプリのコンパイルCompiling an app with an older version of Visual Studio and SDK

問題が発生した場合、最新バージョンの Microsoft Visual Studio と Windows SDK を使ってアプリをコンパイルしていることを確認します。If you're running into issues, be sure to use the latest versions of Microsoft Visual Studio and the Windows SDK to compile your app. 以前のバージョンの Visual Studio と SDK でコンパイルされたアプリでは、以降のバージョンで修正された問題が発生する可能性があります。Apps compiled with an earlier version of Visual Studio and the SDK may have issues that have been fixed in later versions.

デバッグDebugging

ARM プラットフォーム向けのアプリを開発するため、既存のツールを使用できます。You can use existing tools for developing apps for the ARM platform. 便利なリソースを次に示します。Here are some helpful resources.

  • Visual Studio 15.5 Preview 1 以降では、ユニバーサル認証モードを使った ARM32 アプリの実行がサポートされます。Visual Studio 15.5 Preview 1 and later supports running ARM32 apps by using Universal Authentication mode. これにより、必要なリモート デバッグ ツールが自動的にブートストラップされます。This automatically bootstraps the necessary remote debugging tools.
  • ARM でデバッグを行うためのツールと戦略について詳しくは、ARM64 でのデバッグに関するページをご覧ください。See Debugging on ARM64 to learn more about tools and strategies for debugging on ARM.