使用 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 上提供:
- Microsoft.VisualStudio.Sdk(17.x 版本)元包引入你将需要的大多数或全部引用程序集。
- 应从 VSIX 项目引用 Microsoft.VSSDK.BuildTools(17.x 版本)包,以便它可以生成符合 Visual Studio 2022 的 VSIX。
用 C++ 编写的扩展
与往常一样,使用 C++ 编译的用于扩展的 Visual Studio SDK 与已安装的 Visual Studio SDK 一样可用。 必须针对 Visual Studio 2022 SDK 和 ARM64 专门编译扩展。
添加 Visual Studio 2022 目标:ARM64
使用以下步骤,将 Visual Studio 2022:ARM64 支持添加到扩展。
对于托管 Visual Studio 扩展:
- 在你的解决方案中打开 VSIX 项目。 此项目将针对 Visual Studio 2022 ARM64。
- 验证 VSIX 项目是否已正确生成。 可能需要添加引用,以匹配原始 VSIX 项目,解决任何编译器错误。
- 在针对 Visual Studio 2022 的项目文件中使用包引用 17.x(或更早版本)。 使用 NuGet 程序包管理器,或直接编辑项目文件。
- Microsoft.VisualStudio.Sdk(17.x 版本)元包引入你将需要的大多数或全部引用程序集。
- 应从 VSIX 项目引用 Microsoft.VSSDK.BuildTools(17.x 版本)包,以便它可以生成符合 Visual Studio 2022 的 VSIX。
- 如果项目已针对任何 CPU 生成,则无需编辑生成配置,因为它也会针对 ARM64 生成。 但是,如果只想针对 ARM64,请将项目更改为生成 ARM64 而不是任何 CPU。
- 编辑 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 扩展:
- 在你的解决方案中打开 VSIX 项目。 此项目将针对 Visual Studio 2022 ARM64。
- 验证 VSIX 项目是否已正确生成。 可能需要添加引用,以匹配原始 VSIX 项目,解决任何编译器错误。
- 将项目从生成更改为针对 ARM64。
- 更新依赖项 - 扩展在本机模块上可能具有的任何依赖项均必须更新为 ARM64 映像。
- 编辑 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
示例扩展 vsixmanifest:针对 AMD64 和 ARM64
如何编译托管 Visual Studio 扩展:仅针对 ARM64
将 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>
选择 ARM64 目标 (.csproj)。
如何编译 C++ Visual Studio 扩展:仅针对 ARM64
选择 ARM64 目标平台。
选择 ARM64 资料库位置。
可在以下位置找到所需的库文件:
[VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64