#130 mentions some public v18 preview* packages that are hopelessly broken for use in VS extensions. The solution provided there was potentially harmful in general cases, because the v17 packages from the nuget.org repo do not contain deprecation attributes that appear in the alternative "vssdk" repo's v18 preview packages (and in current VS assemblies).
The screenshot below shows two instances of the ILDAsm tool, both showing the metadata tree for interfaceMicrosoft.MetadataReader.IMetadataImport. The v17 version from nuget.repo is shown on the left, and v18 from vssdk.repo (package Microsoft.VisualStudio.Debugger.Metadata, 18.8.1052901-preview ~> VS v18.8.1) is on the right. Note the ObsoleteAttribute that the v17 version does not have.
When the vssdk.repo's v18 preview package is used in a compatible Visual Studio solution, code analysis and IntelliSense team up to suggest an important improvement that should be considered in code that uses the deprecated interface:
Without the preview package and VS, this "fix" might only have been discovered by carefully following the Concord PR stream from years ago.
Why do these and other essential packages remain generally available only in VS 2022 compatibility releases? Why are the less generally available v18 packages marked as preview when their assemblies appear to have the same metadata markers as those in current GA VS 2026 distributions? Or is there yet another repo somewhere where non-preview v18 packages can be found?
Finally, and beyond scope here I know: Why are there many VS packages that to date have only VS 2022 compatibility versions, preview or otherwise (Microsoft.VisualStudio.LanguageServices is one that comes to mind, which is a full major version behind the current VS distribution, 4.14.0 vs. 5.8.0)?
- "Preview" == "Prerelease", etc.
#130 mentions some public v18 preview* packages that are hopelessly broken for use in VS extensions. The solution provided there was potentially harmful in general cases, because the v17 packages from the nuget.org repo do not contain deprecation attributes that appear in the alternative "vssdk" repo's v18 preview packages (and in current VS assemblies).
The screenshot below shows two instances of the ILDAsm tool, both showing the metadata tree for interface
Microsoft.MetadataReader.IMetadataImport. The v17 version from nuget.repo is shown on the left, and v18 from vssdk.repo (packageMicrosoft.VisualStudio.Debugger.Metadata,18.8.1052901-preview~> VS v18.8.1) is on the right. Note theObsoleteAttributethat the v17 version does not have.When the vssdk.repo's v18 preview package is used in a compatible Visual Studio solution, code analysis and IntelliSense team up to suggest an important improvement that should be considered in code that uses the deprecated interface:
Without the preview package and VS, this "fix" might only have been discovered by carefully following the Concord PR stream from years ago.
Why do these and other essential packages remain generally available only in VS 2022 compatibility releases? Why are the less generally available v18 packages marked as preview when their assemblies appear to have the same metadata markers as those in current GA VS 2026 distributions? Or is there yet another repo somewhere where non-preview v18 packages can be found?
Finally, and beyond scope here I know: Why are there many VS packages that to date have only VS 2022 compatibility versions, preview or otherwise (
Microsoft.VisualStudio.LanguageServicesis one that comes to mind, which is a full major version behind the current VS distribution, 4.14.0 vs. 5.8.0)?