在 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 上提供:

用 C++ 编写的扩展

与往常一样,使用 C++ 编译的用于扩展的 Visual Studio SDK 与已安装的 Visual Studio SDK 一样可用。 必须针对 Visual Studio 2022 SDK 和 ARM64 专门编译扩展。

添加 Visual Studio 2022 目标:ARM64

使用以下步骤,将 Visual Studio 2022:ARM64 支持添加到扩展。

  • 对于托管 Visual Studio 扩展:

    1. 在你的解决方案中打开 VSIX 项目。 此项目将针对 Visual Studio 2022 ARM64。
    2. 验证 VSIX 项目是否已正确生成。 可能需要添加引用,以匹配原始 VSIX 项目,解决任何编译器错误。
    3. 在针对 Visual Studio 2022 的项目文件中使用包引用 17.x(或更早版本)。 使用 NuGet 程序包管理器,或直接编辑项目文件。
    4. 如果项目已针对任何 CPU 生成,则无需编辑生成配置,因为它也会针对 ARM64 生成。 但是,如果只想针对 ARM64,请将项目更改为生成 ARM64 而不是任何 CPU
    5. 编辑 source.extension.vsixmanifest 文件以反映面向 Visual Studio 2022 的目标。 设置 <InstallationTarget> 标记,以指示 Visual Studio 2022。 设置 ProductArchitecture 元素,以指示 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>
      

    注意

    托管的 Visual Studio 扩展有效负载可以在为 AnyCPU 生成时,同时针对安装 arm64 和 amd64。

  • 对于 C++ Visual Studio 扩展:

    1. 在你的解决方案中打开 VSIX 项目。 此项目将针对 Visual Studio 2022 ARM64。
    2. 验证 VSIX 项目是否已正确生成。 可能需要添加引用,以匹配原始 VSIX 项目,解决任何编译器错误。
    3. 将项目从生成更改为针对 ARM64
    4. 更新依赖项 - 扩展在本机模块上可能具有的任何依赖项均必须更新为 ARM64 映像。
    5. 编辑 source.extension.vsixmanifest 文件以反映面向 Visual Studio 2022 的目标。 设置 <InstallationTarget> 标记,以指示 Visual Studio 2022。 设置 ProductArchitecture 元素,以指示 ARM64 有效负载。
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    注意

    单个 C++ Visual Studio 扩展有效负载不能同时针对安装 arm64 和 amd64。

此时,你有一个针对 Visual Studio 2022 的扩展 VSIX。 应生成针对 Visual Studio 2022 的 VSIX 项目。

设置 <InstallationTarget> 标记,以使用设计器视图指示 Visual Studio 2022

屏幕截图显示添加 InstallationTarget。

示例扩展 vsixmanifest:针对 AMD64 和 ARM64

屏幕截图显示添加 md64 和 arm64 InstallationTarget。

如何编译托管 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 资料库位置。

    可在以下位置找到所需的库文件:[VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    屏幕截图显示添加 arm64 库路径