{"id":239478,"date":"2022-09-22T09:00:23","date_gmt":"2022-09-22T16:00:23","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=239478"},"modified":"2022-09-23T10:17:31","modified_gmt":"2022-09-23T17:17:31","slug":"now-introducing-arm64-support-for-vs-extensions","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/now-introducing-arm64-support-for-vs-extensions\/","title":{"rendered":"Now Introducing Arm64 Support for VS Extensions!"},"content":{"rendered":"<p>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.\u00a0 Now, we\u2019re excited to announce the extensions you write, and use, are supported in Arm64 VS!<\/p>\n<p>&nbsp;<\/p>\n<h3>Adding Arm64 support to your new or existing extension<\/h3>\n<p>Making your extension Arm64-compatible can be accomplished in three easy steps:<\/p>\n<ol>\n<li>In your extension solution, update the <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.VSSDK.BuildTools\/\">VSSDK Build Tools package<\/a> to the latest version via NuGet Package Manager.<\/li>\n<li>In your VSIX manifest, add a <strong>ProductArchitecture<\/strong> tag specifying <strong>arm64<\/strong> and make sure your <strong>Prerequisites<\/strong> tag includes VS 2022.\n<p><figure id=\"attachment_239484\" aria-labelledby=\"figcaption_attachment_239484\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ProductArchitectureTag.png\"><img decoding=\"async\" class=\"wp-image-239484\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ProductArchitectureTag.png\" alt=\"ProductArchitecture Tag\" width=\"805\" height=\"102\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ProductArchitectureTag.png 994w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ProductArchitectureTag-300x38.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ProductArchitectureTag-768x97.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption id=\"figcaption_attachment_239484\" class=\"wp-caption-text\">ProductArchitecture Tag for Arm64<\/figcaption><\/figure><\/p>\n<p>&nbsp;<\/li>\n<li>Under your project\u2019s <strong>Properties<\/strong> <strong>&gt;<\/strong> <strong>Build<\/strong>, set your build target to <strong>AnyCPU<\/strong> (or <strong>Arm64 <\/strong>if you want an Arm64-exclusive extension).\n<p><figure id=\"attachment_239480\" aria-labelledby=\"figcaption_attachment_239480\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64BuildSetting.png\"><img decoding=\"async\" class=\"wp-image-239480\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64BuildSetting.png\" alt=\"Arm64 Build Settings\" width=\"599\" height=\"236\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64BuildSetting.png 573w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64BuildSetting-300x118.png 300w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/a><figcaption id=\"figcaption_attachment_239480\" class=\"wp-caption-text\">Arm64 Build Property Settings<\/figcaption><\/figure><\/p>\n<p>&nbsp;<\/p>\n<p><figure id=\"attachment_239482\" aria-labelledby=\"figcaption_attachment_239482\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI.png\"><img decoding=\"async\" class=\"wp-image-239482\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI.png\" alt=\"Arm64 VSIX Manifest Installation Target\" width=\"722\" height=\"357\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI.png 1123w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI-300x148.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI-1024x506.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64ManifestUI-768x380.png 768w\" sizes=\"(max-width: 722px) 100vw, 722px\" \/><\/a><figcaption id=\"figcaption_attachment_239482\" class=\"wp-caption-text\">VSIX Manifest with an Arm64 Installation Target<\/figcaption><\/figure><\/p>\n<p>&nbsp;<\/li>\n<\/ol>\n<p>For more details on making your extension arm64-compatible (especially for native extensions), check out the <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/extensibility\/arm64\/target-arm64-visual-studio-extension?view=vs-2022\">updated documentation on migrating extensions<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3>Upload your new extension versions on a single Marketplace entry<\/h3>\n<p>Once you\u2019ve updated your extension in VS, it\u2019s time to publish your Arm64 extension to the Marketplace! \u00a0We 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.<\/p>\n<p><figure id=\"attachment_239481\" aria-labelledby=\"figcaption_attachment_239481\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64Consolidation.png\"><img decoding=\"async\" class=\"size-full wp-image-239481\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64Consolidation.png\" alt=\"Arm64 single-page Consolidation example\" width=\"604\" height=\"369\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64Consolidation.png 604w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/Arm64Consolidation-300x183.png 300w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/a><figcaption id=\"figcaption_attachment_239481\" class=\"wp-caption-text\">Example of a single-Page consolidation for Arm64 extension version<\/figcaption><\/figure><\/p>\n<p>&nbsp;<\/p>\n<p>In the browser-based Marketplace, you have the option to download the extension payload that\u2019s right for your CPU architecture.\u00a0 In Visual Studio\u2019s Extension Manager, you will only see extensions compatible for VS instance.<\/p>\n<p>&nbsp;<\/p>\n<h3>How to submit Visual Studio 2022 AMD64 and Arm64 extension payloads?<\/h3>\n<p>The extension upload and publishing remains unchanged, whether you have already published a Visual Studio 2022 extension or want to publish a new extension.\u00a0 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.\u00a0 If you\u2019re an extension user, this will help you find the right extension for their needs.\u00a0 To upload your Arm64 extension to an existing extension entry:<\/p>\n<ol>\n<li>Go to the <strong>Manage Publishers &amp; Extensions<\/strong> page and click on <strong>Edit<\/strong>.\n<p><figure id=\"attachment_239483\" aria-labelledby=\"figcaption_attachment_239483\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage.png\"><img decoding=\"async\" class=\" wp-image-239483\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage.png\" alt=\"Manage Extensions Page\" width=\"577\" height=\"424\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage.png 2068w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage-300x221.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage-1024x753.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage-768x564.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage-1536x1129.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/09\/ManageExtensionsPage-2048x1505.png 2048w\" sizes=\"(max-width: 577px) 100vw, 577px\" \/><\/a><figcaption id=\"figcaption_attachment_239483\" class=\"wp-caption-text\">Manage Marketplace Extensions page<\/figcaption><\/figure><\/li>\n<li>Upload the new payload. Make sure the new payload has same extension identifier, version, and different target platform.<\/li>\n<li>Click on <strong>Upload<\/strong> and <strong>Save<\/strong>.<\/li>\n<\/ol>\n<p>Once the payload is validated and is scanned for viruses, you\u2019ll notice that the extension\u2019s entry page now offers multiple download options.<\/p>\n<p>&nbsp;<\/p>\n<h3>What\u2019s next for Arm64 extensions?<\/h3>\n<p>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.<\/p>\n<p>If you\u2019re an extender, please share your feedback on the Arm64 migration experience and if you\u2019re an extension user, be on the lookout for your favorite extensions in Arm64 Visual Studio!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.\u00a0 Now, we\u2019re excited to announce the extensions you write, and use, are supported in Arm64 VS! &nbsp; Adding Arm64 support to your new or existing extension Making your [&hellip;]<\/p>\n","protected":false},"author":651,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1388,155],"tags":[294,12,6815],"class_list":["post-239478","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-extensibility","category-visual-studio","tag-extensions","tag-visual-studio","tag-visual-studio-2022"],"acf":[],"blog_post_summary":"<p>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.\u00a0 Now, we\u2019re excited to announce the extensions you write, and use, are supported in Arm64 VS! &nbsp; Adding Arm64 support to your new or existing extension Making your [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/239478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/651"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=239478"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/239478\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=239478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=239478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=239478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}