Skip to content

Conversation

@doanamo
Copy link

@doanamo doanamo commented Aug 2, 2022

This change depends on #21

My attempt at adding support for Visual Studio 2022 because I could not find any existing forks or pull requests for this. I didn't have any experience with VSIX projects prior to doing this and I lack some deeper understanding of some topics regarding C# ecosystem (such as assembly references) - I was mostly following instructions outlined in https://docs.microsoft.com/en-us/visualstudio/extensibility/migration/samples?view=vs-2022.

Some issues/problems:

  • Documentation for migration suggests creating shared project and new separate VSIX project. Because of this there are two VSIX installers instead of one that would support all versions. I've seen VSIX installers that include VS2022 support along with previous versions, so I am not sure why it is recommended to do this separately.
  • I ran into some issues with assembly references which would result in some warnings/errors due to version mismatches, so I ended up dropping support for versions up to VS2015 to ease my migration to VS2022.
  • After migrating from packages.config to PackageReferences (as recommended in documentation), I could not find or figure out how to add ExtensionManager/InstalledExtension assembly references for retrieving current manifest info from VSIX to display version/author in UI. Maybe it would be easier to include vsixmanifest in VSIX as resource and read from it directly using XML reader?
  • Shared project was a pain to work with. My initial experience is that whole VSIX developer workflow is kind of iffy and linked documentation was often misleading, so many changes were applied to csproj files by hand because of various bugs or missing features that prevented me from applying them via IDE because support for shared projects is poor.

Despite these hurdles, extension and standalone app work as expected (with single exception of incorrectly displayed version).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants