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 的安装应仅用于自定义分发。