Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for VS 2022 #24

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft

Added support for VS 2022 #24

wants to merge 7 commits into from

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