Destino de Visual Studio 2022 (ARM64) al crear una extensión en Visual Studio 2022

Al crear un nuevo proyecto VSIX con Visual Studio 2022, el proyecto se crea a partir de una plantilla destinada a Visual Studio 2022 (Amd64). Si desea tener como destino Visual Studio 2022 (ARM64), debe modificar el proyecto creado.

Siga estos pasos en el proyecto VSIX que debe tener como destino Visual Studio 2022 (ARM64):

Instalar Visual Studio y compilar extensiones

Instale Visual Studio 2022 desde descargas de Visual Studio 2022.

Extensiones escritas en un lenguaje .NET

El SDK de Visual Studio que tiene como destino Visual Studio 2022 para extensiones administradas se encuentra exclusivamente en NuGet:

Extensiones escritas en C++

El SDK de Visual Studio para extensiones compiladas con C++ está disponible con el SDK de Visual Studio instalado, como de costumbre. Las extensiones deben compilarse específicamente en el SDK de Visual Studio 2022 y para ARM64.

Adición de un destino de Visual Studio 2022: ARM64

Agregue compatibilidad con Visual Studio 2022:ARM64 a la extensión mediante los pasos siguientes.

  • Para extensiones de Visual Studio administradas:

    1. Abra el proyecto VSIX en la solución. Este proyecto tendrá como destino Visual Studio 2022 ARM64.
    2. Compruebe que el proyecto VSIX se compila correctamente. Es posible que tenga que agregar referencias para que coincidan con el proyecto VSIX original para resolver los errores del compilador.
    3. Use las referencias del paquete 17.x (o anteriores) en el archivo de proyecto de destino de Visual Studio 2022. Use el Administrador de paquetes NuGet o edite directamente el archivo del proyecto.
    4. Si el proyecto ya está compilado en Cualquier CPU, no es necesario editar la configuración de compilación, ya que también se compilará para ARM64 . Sin embargo, si solo quiere tener como destino ARM64, cambie el proyecto para compilar ARM64 en lugar de Cualquier CPU.
    5. Edite el archivo source.extension.vsixmanifest para reflejar el destino visual Studio 2022. Establezca la <InstallationTarget> etiqueta para indicar Visual Studio 2022. Establezca el ProductArchitecture elemento para indicar una carga de 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:

    Una carga de extensión administrada de Visual Studio puede tener como destino instalaciones arm64 y amd64 al compilar para AnyCPU.

  • Para extensiones de Visual Studio de C++:

    1. Abra el proyecto VSIX en la solución. Este proyecto tendrá como destino Visual Studio 2022 ARM64.
    2. Compruebe que el proyecto VSIX se compila correctamente. Es posible que tenga que agregar referencias para que coincidan con el proyecto VSIX original para resolver los errores del compilador.
    3. Cambie el proyecto de la compilación para tener como destino ARM64.
    4. Actualizar dependencia: cualquier dependencia que pueda tener la extensión en un módulo nativo tendrá que actualizarse a una imagen arm64.
    5. Edite el archivo source.extension.vsixmanifest para reflejar el destino visual Studio 2022. Establezca la <InstallationTarget> etiqueta para indicar Visual Studio 2022. Establezca el ProductArchitecture elemento para indicar una carga de ARM64.
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    Nota:

    Una sola carga de extensión de Visual Studio de C++ no puede tener como destino instalaciones arm64 y amd64.

En este momento, tiene una extensión dirigida a Visual Studio 2022 VSIX. Debe compilar el proyecto VSIX de destino de Visual Studio 2022.

Establezca la <InstallationTarget> etiqueta para indicar Visual Studio 2022 mediante la vista Diseñador.

Screenshot that shows adding InstallationTarget.

Extensión de ejemplo vsixmanifest: tiene como destino AMD64 y ARM64

Screenshot that shows adding amd64 and arm64 InstallationTarget.

Compilación de extensiones de Visual Studio administradas: solo tiene como destino ARM64

  1. Agregue la configuración de ARM64 al proyecto (.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. Seleccione Destino ARM64 (.csproj).

    Screenshot that shows building arm64 project.

Cómo compilar extensiones de Visual Studio de C++: solo tiene como destino ARM64

  1. Seleccione la plataforma de destino arm64. Screenshot that shows adding arm64 Target platform.

  2. Seleccione la ubicación de la biblioteca ARM64.

    Los archivos lib necesarios se pueden encontrar en : [VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    Screenshot that shows adding arm64 lib path