Search code examples
visual-studiovisual-studio-extensionsvsix

How does Visual Studio extension pack extension versioning work?


When creating an extension pack for Visual Studio, does the vsixId refer to a package or a specific version of a package?

For example, if you were to follow Walkthrough: Create an Extension Pack, when a user installs the extension pack, will the latest version of each extension always be installed, or will potentially old versions of the extensions be installed?

Example .vsext from the walkthrough which shows how the vsixId is referenced.

{
 "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"
   }
 ]
}

Solution

  • vsixId means the id of the latest available extension package from the Visual Studio Marketplace.

    Actually, Visual Studio Marketplace only obtains the latest VS extension package.

    And the old versions of the vs extensions cannot be got on Visual Studio Marketplace,so it will not install the old previous versions of the extensions.

    When you use vsixid in Extension Pack, it automatically gets the corresponding extension package available from the Visual Studio Marketplace. In other words, the value of the vsixid means the only available latest extension package.