SDK reference packages

The easiest way to author Visual Studio extensions is with a reference to the Microsoft.VisualStudio.Sdk NuGet package. This package is available for targeting Visual Studio 2017 (15.0), Visual Studio 2019 (16.0, 16.9), and now Visual Studio 2022.

Depending on your extension, adding extra VS SDK packages that are not included in the above meta-package may be necessary. When referencing specific other SDK packages, these packages may vary across major VS versions.

Note that many interop assemblies were embeddable prior to Visual Studio 2022. Beginning in Visual Studio 2022, embedding is no longer required or supported. Please reference our interop assemblies instead of linking them.

The following table provides a mapping from assemblies or packages your pre-Visual Studio 2022 extension may already be referencing to the new package ID to reference when targeting Visual Studio 2022. In some cases, assemblies are now available in NuGet packages that previously were only available from a local Visual Studio installation.

Pre-Visual Studio 2022 Visual Studio 2022
envdte Microsoft.VisualStudio.Interop
envdte100 Microsoft.VisualStudio.Interop
envdte80 Microsoft.VisualStudio.Interop
envdte90 Microsoft.VisualStudio.Interop
envdte90a Microsoft.VisualStudio.Interop
extensibility Microsoft.VisualStudio.Interop
Microsoft.MSXML Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.CommandBars Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Designer.Interfaces Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.OLE.Interop Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.SDK.EmbedInteropTypes (Obsolete. Remove reference.)
Microsoft.VisualStudio.Shell.Embeddable Microsoft.VisualStudio.Shell.Framework
Microsoft.VisualStudio.Shell.Interop.10.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.11.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.12.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.12.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.14.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.14.2.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.14.3.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.5.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.7.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.15.8.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.10.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.2.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.3.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.4.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.5.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.6.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.7.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.16.9.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.8.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop.9.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.Shell.Interop Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.10.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.11.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.12.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.14.2.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.15.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.15.1.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.16.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.8.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop.9.0 Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.TextManager.Interop Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.UserNotifications.Interop.12.0.DesignTime Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.VSHelp.dll Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.VSHelp80.dll Microsoft.VisualStudio.Interop
Microsoft.VisualStudio.WCFReference.Interop Microsoft.VisualStudio.Interop
stdole Microsoft.VisualStudio.Interop
VSLangProj Microsoft.VisualStudio.Interop
VSLangProj100 Microsoft.VisualStudio.Interop
VSLangProj110 Microsoft.VisualStudio.Interop
VSLangProj140 Microsoft.VisualStudio.Interop
VSLangProj150 Microsoft.VisualStudio.Interop
VSLangProj157 Microsoft.VisualStudio.Interop
VSLangProj158 Microsoft.VisualStudio.Interop
VSLangProj165 Microsoft.VisualStudio.Interop
VSLangProj2 Microsoft.VisualStudio.Interop
VSLangProj80 Microsoft.VisualStudio.Interop
VSLangProj90 Microsoft.VisualStudio.Interop

Note how many interop assemblies are now available from just one merged interop assembly. Where a package does not appear in the above table, it may be the same across the two versions.