Cibler Visual Studio 2022 (ARM64) lors de la création d’une extension dans Visual Studio 2022
Lorsque vous créez un nouveau projet VSIX en utilisant Visual Studio 2022, le projet est créé à partir d’un modèle qui cible Visual Studio 2022 (Amd64). Si vous souhaitez cibler Visual Studio 2022 (ARM64), vous devez modifier le projet créé.
Suivez les étapes suivantes pour le projet VSIX qui doit cibler Visual Studio 2022 (ARM64) :
Installer Visual Studio et compiler les extensions
Installez Visual Studio 2022 à partir des téléchargements de Visual Studio 2022.
Extensions écrites dans un langage .NET
Le Kit de développement logiciel (SDK) Visual Studio qui cible Visual Studio 2022 pour les extensions managées est exclusivement sur NuGet :
- Le métapackage Microsoft.VisualStudio.Sdk (versions 17.x) contient la plupart ou la totalité des assemblys de référence dont vous aurez besoin.
- Le package Microsoft.VSSDK.BuildTools (versions 17.x) doit être référencé dans votre projet VSIX afin qu’il puisse générer un VSIX compatible avec Visual Studio 2022.
Extensions écrites en C++
Le Kit de développement logiciel (SDK) de Visual Studio pour les extensions compilées avec C++ est disponible avec le Kit de développement logiciel (SDK) de Visual Studio installé, comme d’habitude. Les extensions doivent être compilées spécifiquement pour le Kit de développement logiciel (SDK) de Visual Studio 2022 et pour ARM64.
Ajouter une cible Visual Studio 2022 : ARM64
Ajoutez la prise en charge de Visual Studio 2022:ARM64 à votre extension en suivant les étapes suivantes.
Pour les extensions Visual Studio managées :
- Ouvrez le projet VSIX pour votre solution. Ce projet cible Visual Studio 2022 ARM64.
- Vérifiez que le projet VSIX se génère correctement. Vous devrez peut-être ajouter des références à votre projet VSIX d’origine pour résoudre les éventuelles erreurs du compilateur.
- Utilisez les références du package 17.x (ou antérieur) dans votre fichier de projet ciblé par Visual Studio 2022. Utilisez le Gestionnaire de package NuGet ou modifiez directement le fichier projet.
- Le métapackage Microsoft.VisualStudio.Sdk (versions 17.x) contient la plupart ou la totalité des assemblys de référence dont vous aurez besoin.
- Le package Microsoft.VSSDK.BuildTools (versions 17.x) doit être référencé dans votre projet VSIX afin qu’il puisse générer un VSIX compatible avec Visual Studio 2022.
- Si votre projet est déjà généré pour n’importe quelle UC, vous n’avez pas besoin d’éditer la configuration de génération car il sera généré pour ARM64 également. Toutefois, si vous souhaitez cibler uniquement ARM64, modifiez votre projet pour générer ARM64 au lieu de n’importe quelle UC.
- Modifiez votre fichier source.extension.vsixmanifest pour refléter le ciblage de Visual Studio 2022. Définissez la balise
<InstallationTarget>
pour indiquer Visual Studio 2022. Définissez l’élémentProductArchitecture
pour indiquer une charge utile 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>
Remarque
Une charge utile d’extension Visual Studio managée peut cibler à la fois les installations arm64 et amd64 lors de la génération pour AnyCPU.
Pour les extensions Visual Studio C++ :
- Ouvrez le projet VSIX pour votre solution. Ce projet cible Visual Studio 2022 ARM64.
- Vérifiez que le projet VSIX se génère correctement. Vous devrez peut-être ajouter des références à votre projet VSIX d’origine pour résoudre les éventuelles erreurs du compilateur.
- Modifiez votre projet à partir de la génération pour cibler ARM64.
- Mise à jour de la dépendance – Toute dépendance que votre extension pourrait avoir sur un module natif devra être mise à jour vers une image ARM64.
- Modifiez votre fichier source.extension.vsixmanifest pour refléter le ciblage de Visual Studio 2022. Définissez la balise
<InstallationTarget>
pour indiquer Visual Studio 2022. Définissez l’élémentProductArchitecture
pour indiquer une charge utile ARM64.<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)"> <ProductArchitecture>arm64</ProductArchitecture> </InstallationTarget>
Remarque
Une seule charge utile d’extension Visual Studio C++ ne peut pas cibler les deux installations arm64 et amd64.
À ce stade, vous disposez d’une extension VSIX ciblée par Visual Studio 2022. Vous devez générer votre projet VSIX ciblé par Visual Studio 2022.
Définir la balise <InstallationTarget>
pour indiquer que Visual Studio 2022 utilise le Mode Création
Exemple d’extension vsixmanifest : cible AMD64 et ARM64
Comment compiler les extensions Visual Studio managées : cibles uniquement ARM64
Ajoutez la configuration ARM64 à votre projet (.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>
Sélectionnez la cible ARM64 (.csproj).
Comment compiler les extensions Visual Studio C++ : cibles uniquement ARM64
Sélectionnez la plateforme cible ARM64.
Sélectionnez l’emplacement de la bibliothèque ARM64.
Les fichiers de bibliothèque requis se trouvent dans :
[VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64