Visual Studio 扩展包扩展版本控制是如何工作的?

How does Visual Studio extension pack extension versioning work?

在为 Visual Studio 创建扩展包时,vsixId 是指包还是包的特定版本?

例如,如果您要遵循 Walkthrough: Create an Extension Pack,当用户安装扩展包时,是始终安装每个扩展的最新版本,还是可能安装旧版本的扩展?

演练中的示例 .vsext,其中显示了如何引用 vsixId

{
 "id": "ExtensionPack1",
 "name": "ExtensionPack1",
 "description": "Read about creating extension packs at https://aka.ms/vsextpack",
 "version": "1.0.0.0",
 "extensions": [  // List of extensions that are included in the Extension Pack.
   {
     "vsixId": "41858b2d-ff0b-4a43-80b0-f1b2d6084935",
     "name": "AlignAssignments"
   },
   {
     "vsixId": "42374550-426a-400e-96f9-237682e8dea6",
     "name": "CopyAsHtml"
   }
 ]
}

vsixId 表示来自 Visual Studio Marketplace.

的最新可用扩展包的 ID

其实,Visual Studio Marketplace只获取最新的VS扩展包

旧版本的vs扩展无法在Visual Studio Marketplace上获取,因此不会安装扩展的旧版本。

当您在 Extension Pack 中使用 vsixid 时,它会自动从 Visual Studio 市场获取相应的扩展包。 也就是说vsixid的值表示唯一可用的最新扩展包。