Destinazione di Visual Studio 2022 (ARM64) durante la creazione di un'estensione in Visual Studio 2022

Quando si crea un nuovo progetto VSIX usando Visual Studio 2022, il progetto viene creato da un modello destinato a Visual Studio 2022 (Amd64). Se si vuole usare Visual Studio 2022 (ARM64), è necessario modificare il progetto creato.

Seguire questa procedura nel progetto VSIX che deve essere destinato a Visual Studio 2022 (ARM64):

Installare Visual Studio e compilare le estensioni

Installare Visual Studio 2022 dai download di Visual Studio 2022.

Estensioni scritte in un linguaggio .NET

Visual Studio SDK destinato a Visual Studio 2022 per le estensioni gestite è esclusivamente in NuGet:

Estensioni scritte in C++

Visual Studio SDK per le estensioni compilate con C++ è disponibile con Visual Studio SDK installato, come di consueto. Le estensioni devono essere compilate in modo specifico in Visual Studio 2022 SDK e per ARM64.

Aggiungere una destinazione di Visual Studio 2022: ARM64

Aggiungere il supporto di Visual Studio 2022:ARM64 all'estensione seguendo questa procedura.

  • Per le estensioni di Visual Studio gestite:

    1. Aprire il progetto VSIX nella soluzione. Questo progetto sarà destinato a Visual Studio 2022 ARM64.
    2. Verificare che il progetto VSIX venga compilato correttamente. Potrebbe essere necessario aggiungere riferimenti in modo che corrispondano al progetto VSIX originale per risolvere eventuali errori del compilatore.
    3. Usare i riferimenti al pacchetto 17.x (o versioni precedenti) nel file di progetto di destinazione di Visual Studio 2022. Usare il Gestione pacchetti NuGet o modificare direttamente il file di progetto.
    4. Se il progetto è già compilato in qualsiasi CPU, non è necessario modificare la configurazione di compilazione perché verrà compilata anche per ARM64 . Tuttavia, se si vuole usare solo ARM64, modificare il progetto in modo da compilare ARM64 invece di Qualsiasi CPU.
    5. Modificare il file source.extension.vsixmanifest per riflettere la destinazione di Visual Studio 2022. Impostare il <InstallationTarget> tag per indicare Visual Studio 2022. Impostare l'elemento ProductArchitecture per indicare un payload ARM64.
       <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>
      

    Nota

    Un payload dell'estensione di Visual Studio gestito può essere destinato sia alle installazioni arm64 che a amd64 durante la compilazione per AnyCPU.

  • Per le estensioni di Visual Studio C++:

    1. Aprire il progetto VSIX nella soluzione. Questo progetto sarà destinato a Visual Studio 2022 ARM64.
    2. Verificare che il progetto VSIX venga compilato correttamente. Potrebbe essere necessario aggiungere riferimenti in modo che corrispondano al progetto VSIX originale per risolvere eventuali errori del compilatore.
    3. Modificare il progetto dalla compilazione per la destinazione ARM64.
    4. Aggiornare la dipendenza: qualsiasi dipendenza che l'estensione potrebbe avere in un modulo nativo dovrà essere aggiornata a un'immagine ARM64.
    5. Modificare il file source.extension.vsixmanifest per riflettere la destinazione di Visual Studio 2022. Impostare il <InstallationTarget> tag per indicare Visual Studio 2022. Impostare l'elemento ProductArchitecture per indicare un payload ARM64.
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    Nota

    Un singolo payload dell'estensione di Visual Studio C++ non può essere destinati sia alle installazioni arm64 che a amd64.

A questo punto, si dispone di un'estensione di destinazione di Visual Studio 2022 VSIX. È consigliabile compilare il progetto VSIX di destinazione di Visual Studio 2022.

Impostare il <InstallationTarget> tag per indicare Visual Studio 2022 usando la visualizzazione Progettazione

Screenshot that shows adding InstallationTarget.

Estensione di esempio vsixmanifest: è destinata sia a AMD64 che a ARM64

Screenshot that shows adding amd64 and arm64 InstallationTarget.

Come compilare le estensioni di Visual Studio gestite: è destinata solo a ARM64

  1. Aggiungere la configurazione ARM64 al progetto (con estensione 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. Selezionare la destinazione ARM64 (con estensione csproj).

    Screenshot that shows building arm64 project.

Come compilare le estensioni di Visual Studio C++: è destinata solo a ARM64

  1. Selezionare la piattaforma di destinazione ARM64. Screenshot that shows adding arm64 Target platform.

  2. Selezionare il percorso della libreria ARM64.

    I file lib necessari sono disponibili in : [VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    Screenshot that shows adding arm64 lib path