September 22nd, 2022

Now Introducing Arm64 Support for VS Extensions!

Leslie Richardson
Program Manager

Back in June, we announced Arm64 Visual Studio 2022 application, the first version of Visual Studio that natively supports building and debugging Arm64 apps on Arm-based processors.  Now, we’re excited to announce the extensions you write, and use, are supported in Arm64 VS!

 

Adding Arm64 support to your new or existing extension

Making your extension Arm64-compatible can be accomplished in three easy steps:

  1. In your extension solution, update the VSSDK Build Tools package to the latest version via NuGet Package Manager.
  2. In your VSIX manifest, add a ProductArchitecture tag specifying arm64 and make sure your Prerequisites tag includes VS 2022.

    ProductArchitecture Tag
    ProductArchitecture Tag for Arm64

     

  3. Under your project’s Properties > Build, set your build target to AnyCPU (or Arm64 if you want an Arm64-exclusive extension).

    Arm64 Build Settings
    Arm64 Build Property Settings

     

    Arm64 VSIX Manifest Installation Target
    VSIX Manifest with an Arm64 Installation Target

     

For more details on making your extension arm64-compatible (especially for native extensions), check out the updated documentation on migrating extensions.

 

Upload your new extension versions on a single Marketplace entry

Once you’ve updated your extension in VS, it’s time to publish your Arm64 extension to the Marketplace!  We are happy to announce that as an extension author, now you can publish your Arm64 extension alongside the amd64 (64-bit) version of your extension on a single Marketplace entry.

Arm64 single-page Consolidation example
Example of a single-Page consolidation for Arm64 extension version

 

In the browser-based Marketplace, you have the option to download the extension payload that’s right for your CPU architecture.  In Visual Studio’s Extension Manager, you will only see extensions compatible for VS instance.

 

How to submit Visual Studio 2022 AMD64 and Arm64 extension payloads?

The extension upload and publishing remains unchanged, whether you have already published a Visual Studio 2022 extension or want to publish a new extension.  Having a single entry for multiple payloads will help extension authors to reduce the number of extensions they have to maintain for each Visual Studio version.  If you’re an extension user, this will help you find the right extension for their needs.  To upload your Arm64 extension to an existing extension entry:

  1. Go to the Manage Publishers & Extensions page and click on Edit.

    Manage Extensions Page
    Manage Marketplace Extensions page
  2. Upload the new payload. Make sure the new payload has same extension identifier, version, and different target platform.
  3. Click on Upload and Save.

Once the payload is validated and is scanned for viruses, you’ll notice that the extension’s entry page now offers multiple download options.

 

What’s next for Arm64 extensions?

As part of the extension consolidation effort, we want to enable extension authors to merge their separate, existing extension listings for different VS versions into a single listing, which will further improve extension discoverability.

If you’re an extender, please share your feedback on the Arm64 migration experience and if you’re an extension user, be on the lookout for your favorite extensions in Arm64 Visual Studio!

 

Author

Leslie Richardson
Program Manager

Leslie is a Program Manager on the C# developer experience team, focusing primarily on improving the overall .NET and C# productivity experience and feature set.

4 comments

Discussion is closed. Login to edit/delete existing comments.

  • Keiji Kamebuchi

    Great news! I tried it right away. But unfortunately I could not success it.
    1st, I updated Microsoft.VSSDK.BuildTools to latest 17.3.2094. However I suppose Visual Studio 2022 using that build tool does not support 'arm64' ProductArchitecture in manifest.
    2nd, I was build arm64 vsix after I manualy added arm64 of ProductArchitecture element in manifest file, and I upload that to marketplace, But error occurred as follows: `Target 'Microsoft.VisualStudio.Community' with version range '[17.0,)' requires specifying a...

    Read more
    • Leslie RichardsonMicrosoft employee Author

      Thanks for the feedback Keiji and sorry that you ran into that issue. The issue should be fixed now so feel free to give uploading a try again and let us know if you are still experiencing any issues.

  • Alexander Gayko

    Cool. next wish: please further improve perf of both ARM VS 2022 as well as ARM win11 so development becomes a little faster on my Lumia 950 XL 🙂 (no joke btw)

  • Anil Mahadev

    Awesome Sauce!!! Can’t wait to get started on ARM64 once Project Volterra Dev Boxes are available!!!