Visual Studio 的扩展兼容性模型

Visual Studio 2026 引入了基于 API 版本的兼容性模型,可减少跨主要版本扩展更新的需求。 为 Visual Studio 2022 构建的 VSIX 扩展在 Visual Studio 2026 中无需更改即可继续工作,只要它们面向支持的 API。

概述

旧扩展通过在 VSIX 清单中指定 Visual Studio 产品版本范围 来声明兼容性,通常需要对每个新的主版本进行上限更改。 从 Visual Studio 2026 开始,兼容性由 API 版本支持 而不是产品版本驱动,因此大多数 Visual Studio 2022 扩展可以在 Visual Studio 2026 中加载,而无需重新发布。

关键原则

  • 扩展声明 API 版本,而不是产品版本。 在加载时,Visual Studio 会评估扩展面向的 API 版本,并仅加载兼容的扩展。

  • 稳定的 API 避免了破坏性变更。 除了主要平台迁移(例如在 Visual Studio 2022 中迁移到 64 位),该平台旨在为稳定 API 保留向后兼容性。

  • 新 API 首先作为新增功能,并进入预览阶段。 预览 API 可能会更改或删除,生产扩展或发布到 Visual Studio 市场不受支持。

对现有扩展的影响

如果 VSIX 扩展在 Visual Studio 2022 中工作,Visual Studio 2026 无需更改。 Visual Studio 2026:

  • 支持 API 版本 17.x
  • 仅使用安装目标版本范围的 下限 评估兼容性。
  • 忽略范围的上限。

Example

此安装目标扩展同时在 Visual Studio 2022 和 Visual Studio 2026 中运行:

<InstallationTarget
  Id="Microsoft.VisualStudio.Community"
  Version="[17.0,18.0)" />

在 Visual Studio 2026 中创建的新扩展

在 Visual Studio 2026 中创建扩展时,VSIX 清单配置为下限为 17.0,且没有上限:

<InstallationTarget
  Id="Microsoft.VisualStudio.Community"
  Version="[17.0,)" />

此配置允许扩展在 Visual Studio 2022 和 Visual Studio 2026 上运行,而无需修改。

测试和故障排除

即使预计没有任何更改,也请在 Visual Studio 2026 上测试您的扩展以捕获:

  • 行为更改。
  • 平台问题。
  • 不支持的 API 用法。

如果遇到平台问题,请使用 Visual Studio 中的 报告问题进行报告

基于 MSI 的扩展

兼容性模型仅适用于 VSIX 扩展。 对于 MSI 分布式扩展:

  • Visual Studio 不管理安装或兼容性。
  • 你负责调整 Visual Studio 2026 的安装程序。
  • 从较旧的 Visual Studio 版本自动迁移不适用。

小窍门

尽可能采用 VSIX 进行分发。 基于 MSI 的安装应仅用于自定义分发。