Target Visual Studio 2022 (ARM64) bij het maken van een extensie in Visual Studio 2022

Wanneer u een nieuw VSIX-project maakt met Visual Studio 2022, wordt het project gemaakt op basis van een sjabloon die is gericht op Visual Studio 2022 (Amd64). Als u Visual Studio 2022 (ARM64) wilt targeten, moet u het gemaakte project wijzigen.

Volg deze stappen in het VSIX-project dat gericht moet zijn op Visual Studio 2022 (ARM64):

Visual Studio installeren en extensies compileren

Installeer Visual Studio 2022 vanuit Visual Studio 2022-downloads.

Extensies die zijn geschreven in een .NET-taal

De Visual Studio SDK die is gericht op Visual Studio 2022 voor beheerde extensies, bevindt zich uitsluitend op NuGet:

  • De metapackage van Microsoft.VisualStudio.Sdk (17.x-versies) bevat de meeste of alle referentieassembly's die u nodig hebt.
  • Er moet naar het pakket Microsoft.VSSDK.BuildTools (17.x-versies) worden verwezen vanuit uw VSIX-project, zodat er een Visual Studio 2022-compatibele VSIX kan worden gemaakt.

Extensies geschreven in C++

De Visual Studio SDK voor extensies die zijn gecompileerd met C++ is zoals gebruikelijk beschikbaar met de geïnstalleerde Visual Studio SDK. Extensies moeten specifiek worden gecompileerd op basis van de Visual Studio 2022 SDK en voor ARM64.

Een Visual Studio 2022-doel toevoegen: ARM64

Voeg visual Studio 2022:ARM64-ondersteuning toe aan uw extensie met behulp van de volgende stappen.

  • Voor beheerde Visual Studio-extensies:

    1. Open het VSIX-project naar uw oplossing. Dit project richt zich op Visual Studio 2022 ARM64.
    2. Controleer of het VSIX-project correct wordt gebouwd. Mogelijk moet u verwijzingen toevoegen die overeenkomen met uw oorspronkelijke VSIX-project om eventuele compilerfouten op te lossen.
    3. Gebruik de pakketverwijzingen 17.x (of eerder) in uw Visual Studio 2022-doelprojectbestand. Gebruik NuGet Package Manager of bewerk het projectbestand rechtstreeks.
      • De metapackage van Microsoft.VisualStudio.Sdk (17.x-versies) bevat de meeste of alle referentieassembly's die u nodig hebt.
      • Er moet naar het pakket Microsoft.VSSDK.BuildTools (17.x-versies) worden verwezen vanuit uw VSIX-project, zodat er een Visual Studio 2022-compatibele VSIX kan worden gemaakt.
    4. Als uw project al is gebouwd op basis van elke CPU, hoeft u de buildconfiguratie niet te bewerken, omdat het ook wordt gebouwd voor ARM64 . Als u echter alleen wilt richten op ARM64, wijzigt u uw project zodat het ARM64 bouwt in plaats van Any CPU.
    5. Bewerk het bestand source.extension.vsixmanifest om het doel van Visual Studio 2022 weer te geven. Stel de <InstallationTarget> tag in om Visual Studio 2022 aan te geven. Stel het ProductArchitecture element in om een ARM64-nettolading aan te geven.
       <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>
      

    Opmerking

    Een payload van een beheerde Visual Studio-extensie kan zowel arm64- als amd64-installaties targeten bij het bouwen voor AnyCPU.

  • Voor C++ Visual Studio-extensies:

    1. Open het VSIX-project naar uw oplossing. Dit project richt zich op Visual Studio 2022 ARM64.
    2. Controleer of het VSIX-project correct wordt gebouwd. Mogelijk moet u verwijzingen toevoegen die overeenkomen met uw oorspronkelijke VSIX-project om eventuele compilerfouten op te lossen.
    3. Wijzig uw project van het bouwen voor het richten op ARM64.
    4. Afhankelijkheid bijwerken: elke afhankelijkheid van uw extensie op een systeemeigen module moet worden bijgewerkt naar een ARM64-afbeelding.
    5. Bewerk het bestand source.extension.vsixmanifest om het doel van Visual Studio 2022 weer te geven. Stel de <InstallationTarget> tag in om Visual Studio 2022 aan te geven. Stel het ProductArchitecture element in om een ARM64-nettolading aan te geven.
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    Opmerking

    Een enkele C++ Visual Studio-extensielading kan niet worden gericht op zowel Installaties arm64 als amd64.

Op dit moment hebt u een Visual Studio 2022-gerichte extensie VSIX. U moet uw op Visual Studio 2022 gerichte VSIX-project bouwen.

Stel de <InstallationTarget> tag in om Visual Studio 2022 aan te geven met de ontwerpweergave

Schermopname van het toevoegen van InstallationTarget.

Voorbeeldextensie vsixmanifest: ondersteunt AMD64 en ARM64

Schermopname van het toevoegen van amd64 en arm64 InstallationTarget.

Beheerde Visual Studio-extensies compileren: alleen voor ARM64

  1. Voeg de ARM64-configuratie toe aan uw project (.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. Selecteer het ARM64-doel (.csproj).

    Schermopname die laat zien hoe het arm64-project wordt gebouwd.

C++ Visual Studio-extensies compileren: is alleen gericht op ARM64

  1. Selecteer het ARM64-doelplatform.

    Schermopname van het toevoegen van arm64 Target-platform.

  2. Selecteer de locatie van de ARM64-bibliotheek.

    Vereiste lib-bestanden zijn te vinden op: [VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    Schermopname van het toevoegen van arm64 lib-pad