ARM 搭載デバイスの Visual Studio

Visual Studio は、x86 アーキテクチャに基づくプロセッサを対象とするように構築されており、ARM ベースのプロセッサを対象とした Visual Studio のバージョンはありません。

Visual Studio は x86 エミュレーション経由で ARM 搭載デバイス上で実行できますが、現在のところ、一部の機能は Azure Resource Manager でサポートされていません。 そのため、ARM ベースのプロセッサを使用するデバイスで Visual Studio を実行することはお勧めしません。代わりに、リモートを対象とする ARM デバイスを使用することをお勧めします。

サポートされるオペレーティング システム、ハードウェア、サポートされる言語、その他の要件とガイダンスについては、「Visual Studio 2019 のシステム要件」を参照してください。

Visual Studio 2022 バージョン 17.4 は、Windows 11 Arm64 でネイティブ Arm64 アプリケーションとして使用できるようになりました。これは、Arm ベースのプロセッサ上での Arm64 アプリのビルドとデバッグをネイティブでサポートする Visual Studio の最初のバージョンです。 Visual Studio 2022 バージョン 17.4 以降では、ほとんどの開発者ワークロードで、x64 エミュレーションに依存する必要がありません。

Arm64 Visual Studio の使用を開始する

ネイティブ Arm64 Visual Studio エクスペリエンスを開始するには:

  • Windows 11 を搭載した Arm64 デバイスがある。
  • Arm64 デバイスから以前のバージョンの Visual Studio をアンインストールする。
  • 最新版の Visual Studio 2022 をダウンロードしてインストールする。

Arm64 Visual Studio のインストール

Visual Studio x64 と Arm64 のアーキテクチャ両方に対してインストーラーが 1 つあります。 Visual Studio インストーラーを使用すると、システム アーキテクチャが Arm64 かどうかが検出されます。Arm64 の場合、Arm 64 デバイスに Arm64 版の Visual Studio がダウンロードされ、インストールされます (サポートは Windows 11 のものです)。 レイアウト経由で製品をインストールする場合、ARM バイナリが含まれるよう、明示的にレイアウトを構成する必要があります。

Note

Windows 11 Arm64 の場合、Visual Studio 2022 バージョン 17.4 (以降) をインストールする前に、以前のバージョンの Visual Studio (x64、x86) をすべてアンインストールする必要があります。

サポートされるワークロード

Arm64 GA では、次のワークロードがサポートされています。

  • .NET デスクトップ開発
  • C++ によるデスクトップ開発
  • ASP.NET と Web 開発
  • ユニバーサル Windows プラットフォーム開発
  • Visual Studio 拡張機能の開発
  • C++ によるゲーム開発
  • Node.js 開発

マネージド開発者

このリリースでは、.NET 6 以降と .NET Framework 4.8.1 の両方を使用して、デスクトップ アプリケーション (Windows フォーム と WPF) をビルドできるようになりました。 .NET Framework 4.8.1 は Windows 11 の次のメジャー更新プログラムに含まれており、今後、以前のオペレーティング システムで使用できるようになります。

マネージド ワークロードの初期サポートには、Windows フォーム、WPF、Web アプリが含まれます。 今後のプレビューで、Windows App SDK、.NET MAUI、ユニバーサル Windows プラットフォーム (UWP) のサポートが提供されます。

ネイティブ開発者

Visual Studio 2022 バージョン 17.4 以降のリリースでは、C++ Code Analysis を含む新しいネイティブ Arm64 MSVC (Microsoft Visual C++) コンパイラ ツールセットにアクセスしながら、MSVC で現在サポートされているすべてのプラットフォームを対象にすることができます。

ホスト アーキテクチャ (コンパイラが実行されているプラットフォーム) ターゲット アーキテクチャ (コンパイラがバイナリを生成する対象のプラットフォーム) インストール パス
Arm64 Arm64 <インストール場所>\VC\Tools\MSVC\<version>\bin\HostARM64\ARM64
Arm64 X64 <インストール場所>\VC\Tools\MSVC\<version>\bin\HostARM64\x64
Arm64 X86 <インストール場所>\VC\Tools\MSVC\<version>\bin\HostARM64\x86

Arm64 では、多くの C++ ライブラリが既に使用できます。 vcpkg も Arm64 でネイティブに実行できます。依存する一部のサード パーティ製ツールもエミュレートされた状態で実行できますが、ネイティブの Arm64 ビルド環境で 1700 個以上の C++ ライブラリを直接正常にビルドして使用できます。

C++ デスクトップ ワークロードをインストールすると、MSBuild を使用して任意のデスクトップ C++ プロジェクトとソリューションを読み込み、Visual Studio で既に使い慣れている編集、ビルド、デバッグ機能を試すことができます。 その他の C++ Visual Studio ワークロード (ゲームなど) とビルド システム (CMake など) は、今後の更新プログラムでサポートされます。

17.4 より前の Visual Studio バージョン

17.4 より前のバージョンの Visual Studio 2022 は、ARM 搭載デバイス上で、x64 エミュレーション経由で実行できますが、一部の機能は ARM でサポートされていません。 そのため、ARM ベースのプロセッサを使用するデバイス上でこれらのバージョンの Visual Studio を実行することはお勧めしません。代わりに、リモートを対象とする ARM デバイスを使用することをお勧めします。

サポートされるオペレーティング システム、ハードウェア、サポートされる言語、その他の要件とガイダンスについては、「Visual Studio 2022 のシステム要件」を参照してください。

リモートを対象とする ARM デバイス

最適なエクスペリエンスを実現するために、Visual Studio を x86 を搭載した別のコンピューターで使用し、Visual Studio のリモート展開およびデバッグ機能を使用して ARM ベースのデバイスを対象にすることをお勧めします。 デバイスに既にインストールされている Windows ユニバーサル アプリケーションをデバッグするには、インストール済みアプリ パッケージのデバッグに関する記事を参照してください。 新しいアプリを展開するには、Microsoft Store アプリのリモート実行に関する記事を参照してください。 その他すべてのアプリケーションの種類については、「リモート デバッグ」のドキュメントを参照してください。

ARM デバイスでの Visual Studio の実行に関するヒント

必要な場合にのみ使用する

Visual Studio は x86 エミュレーションを利用して ARM プロセッサ上で実行できます。 このエミュレーションでは一部の機能がサポートされない可能性があること、ARM ベースのプロセッサ向けのエミュレーションを使用したときはパフォーマンスが遅くなる可能性があることにご注意ください。 ARM デバイスをリモートでターゲットに設定することをお勧めします。

インストール時間

Visual Studio のインストールには時間がかかることを見込んでください。一定時間の停止、または再起動が必要になります。

リモート ツール

リモート デバイスで実行されているアプリをデバッグするには、ARM 用のリモート ツールをダウンロードしてインストールする必要があります。

デバッグを開始する (F5)

ARM デバイスからデバッグを開始する (F5) ときに、すべての Visual Studio プロジェクトがローカルでプロジェクトを起動するように構成されているわけではありません。 アプリがローカルで実行されている場合でも、リモート デバッグのために Visual Studio を構成する必要があります。 詳細については、「リモート デバッグ」を参照してください。

あなたのサポートが必要です。

オンラインで提供しているエクスペリエンスについて、お客様からのご意見をお待ちしております。 気に入った点や、Arm64 での Visual Studio をさらに改善するための提案があるかどうかをお知らせください。 Developer Community 経由で私たちとフィードバックを共有できます。問題の報告でバグや問題を報告し、さらに多くのワークロードに優先順位を付けるための提案を共有してください。