次の方法で共有


Visual Studio 2022 で拡張機能を作成するときに Visual Studio 2022 (ARM64) をターゲットにする

Visual Studio 2022 を使用して新しい VSIX プロジェクトを作成すると、Visual Studio 2022 (Amd64) をターゲットにするテンプレートからそのプロジェクトが作成されます。 Visual Studio 2022 (ARM64) をターゲットにする場合は、作成したプロジェクトを変更する必要があります。

Visual Studio 2022 (ARM64) をターゲットとする VSIX プロジェクトで次の手順を実行します。

Visual Studio をインストールして拡張機能をコンパイルする

Visual Studio 2022 のダウンロードから Visual Studio 2022 をインストールします。

.NET 言語で記述された拡張機能

マネージド拡張機能用の Visual Studio 2022 をターゲットとする Visual Studio SDK は、NuGet にのみ用意されています。

  • Microsoft.VisualStudio.Sdk (17.x バージョン) メタパッケージには、必要な参照アセンブリのほとんどまたはすべてが含まれています。
  • Microsoft.VSSDK.BuildTools (17.x バージョン) パッケージは、Visual Studio 2022 準拠の VSIX をビルドできるように VSIX プロジェクトから参照する必要があります。

C++ で記述された拡張機能

C++ でコンパイルした拡張機能の Visual Studio SDK は、通常どおり、インストールした Visual Studio SDK で使用できます。 拡張機能は、Visual Studio 2022 SDK および ARM64 専用にコンパイルする必要があります

Visual Studio 2022 ターゲットの追加: ARM64

次の手順を使用して、Visual Studio 2022:ARM64 サポートを拡張機能に追加します。

  • Managed Visual Studio 拡張機能の場合:

    1. ソリューションの VSIX プロジェクトを開きます。 このプロジェクトは Visual Studio 2022 ARM64 をターゲットとします。
    2. VSIX プロジェクトが適切にビルドされていることを確認します。 コンパイラ エラーを解決するために、元の VSIX プロジェクトと一致する参照を追加することが必要になる場合があります。
    3. Visual Studio 2022 をターゲットとするプロジェクト ファイルで、パッケージ参照 17.x (またはそれ以前) を使用します。 NuGet パッケージ マネージャーを使用するか、プロジェクト ファイルを直接編集します。
      • Microsoft.VisualStudio.Sdk (17.x バージョン) メタパッケージには、必要な参照アセンブリのほとんどまたはすべてが含まれています。
      • Microsoft.VSSDK.BuildTools (17.x バージョン) パッケージは、Visual Studio 2022 準拠の VSIX をビルドできるように VSIX プロジェクトから参照する必要があります。
    4. プロジェクトが既に 任意の CPU に対してビルドされている場合は、ARM64 用にビルドされるため、ビルド構成を編集する必要はありません。 ただし、ARM64 のみを対象とする場合は、任意の CPU ではなく ARM64 をビルドするようにプロジェクトを変更します。
    5. source.extension.vsixmanifest ファイルを編集して Visual Studio 2022 をターゲットとするターゲットとするよう反映させます。 Visual Studio 2022 を示す <InstallationTarget> タグを設定します。 AMD64 ペイロードを示すように ProductArchitecture 要素を設定します。
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
          <ProductArchitecture>amd64</ProductArchitecture>
       </InstallationTarget>
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
          <ProductArchitecture>arm64</ProductArchitecture>
       </InstallationTarget>
      

    Note

    マネージド Visual Studio 拡張機能ペイロードは、任意の CPU 用にビルドするときに、Installations arm64 と arm64 の両方をターゲットにすることができます。

  • C++ Visual Studio 拡張機能の場合:

    1. ソリューションの VSIX プロジェクトを開きます。 このプロジェクトは Visual Studio 2022 ARM64 をターゲットとします。
    2. VSIX プロジェクトが適切にビルドされていることを確認します。 コンパイラ エラーを解決するために、元の VSIX プロジェクトと一致する参照を追加することが必要になる場合があります。
    3. ARM64 をターゲットとしたビルドが設定されているプロジェクト変更します。
    4. 依存関係の更新 - 拡張機能にネイティブ モジュールに対する依存関係がある可能性がある場合、それを AMD64 イメージに更新する必要があります。
    5. source.extension.vsixmanifest ファイルを編集して Visual Studio 2022 をターゲットとするターゲットとするよう反映させます。 Visual Studio 2022 を示す <InstallationTarget> タグを設定します。 AMD64 ペイロードを示すように ProductArchitecture 要素を設定します。
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    Note

    1 つの C++ Visual Studio 拡張機能ペイロードで、Installations arm64 と amd64 の両方を対象にすることはできません。

この時点で、Visual Studio 2022 をターゲットにした拡張機能の VSIX ができます。 Visual Studio 2022 を対象とする VSIX プロジェクトをビルドする必要があります。

デザイナー ビューを使用して Visual Studio 2022 を示すように <InstallationTarget> タグを設定する

InstallationTarget の追加を示すスクリーンショット。

サンプル拡張機能 vsixmanifest: AMD64 と ARM64 の両方を対象とする

amd64 と arm64 InstallationTarget の追加を示すスクリーンショット。

Managed Visual Studio 拡張機能をコンパイルする方法: ARM64 のみを対象とする

  1. ARM64 構成をプロジェクト (.csproj) に追加します。

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|arm64' ">
       <DebugSymbols>true</DebugSymbols>
       <DebugType>full</DebugType>
       <Optimize>false</Optimize>
       <OutputPath>bin\Debug\</OutputPath>
       <DefineConstants>DEBUG;TRACE</DefineConstants>
       <ErrorReport>prompt</ErrorReport>
       <WarningLevel>4</WarningLevel>
       <PlatformTarget>ARM64</PlatformTarget>
       <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|arm64' ">
       <DebugType>pdbonly</DebugType>
       <Optimize>true</Optimize>
       <OutputPath>bin\Release\</OutputPath>
       <DefineConstants>TRACE</DefineConstants>
       <ErrorReport>prompt</ErrorReport>
       <WarningLevel>4</WarningLevel>
       <PlatformTarget>arm64</PlatformTarget>
       <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    </PropertyGroup>
    
  2. ARM64 ターゲット (.csproj) を選択します。

    arm64 プロジェクトの構築を示すスクリーンショット。

C++ Visual Studio 拡張機能をコンパイルする方法: ARM64 のみを対象とする

  1. ARM64 ターゲット プラットフォームを選択します。

    arm64 ターゲットの追加を示すスクリーンショット。

  2. ARM64 ライブラリの場所を選択します。

    必要な lib ファイルは次の場所にあります。 [VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    arm64 lib パスの追加を示すスクリーンショット