awulkiew / graphical-debugging

Graphical Debugging extension for Visual Studio
MIT License
150 stars 24 forks source link

VS2022 Support Patch #44

Closed zahirtezcan-bugs closed 1 year ago

zahirtezcan-bugs commented 2 years ago

I don't know if you are planning a VS2022 support soon but here is a patch that worked for me on VS2022 0001-may-work-with-vs2022.zip

This is NOT a patch for making the project work on all VS versions in a backward compatible way.

There are multitude of changes in VS2022 API. One of the problematic changes is they removed deprecated support for embedding interop types and provided Microsoft.VisualStudio.Interop package.

When I first tried to make ot work with old assemblies, errors for multiple definitions of EnvDTE were all over the place. So, instead of making a compatible PR, I ended up with a somewhat working patch for VS2022.

One of the main issues with the patch is, it removes all existing references to VS DLLs and adds a single reference to SDK itself. While that makes it easy to work with extension code, since it does not add required DLLs into the VSIX package, removes support for old VS versions (including 2019).

For package manifest, having amd64 installation targets for new versions can coexist with old installation targets. But, I removed old installation targets so that people may not accidentally install over valid versions of the extension.

Hope this helps for people like me. But, for maintainers, I am sorry this is all I can do.

awulkiew commented 2 years ago

Wow, thanks for sharing this!

Yes, I'm planning to work on it but I'm postponing this partially because MS stated that it will be possible to upload several VSIX files for the same extension at Marketplace (https://docs.microsoft.com/en-us/visualstudio/extensibility/migration/update-visual-studio-extension?view=vs-2022#visual-studio-marketplace). So I'm waiting and AFAIK I'm not the only one.

Nerpson commented 2 years ago

Any news about this? Your extension is really useful and I really miss it in VS2022. Maybe you don't need to wait for MS to add this to publish the new version, like other publishers did?

shabelson commented 1 year ago

Hi,

How Do you apply the patch file to the solution? I tried to use this https://sourceforge.net/projects/gnuwin32/

tdiekel-in-tech commented 1 year ago

You can apply the patch with git. See here: https://gist.github.com/nepsilon/22bc62a23f785716705c

awulkiew commented 1 year ago

I'm considering doing it the other way around, i.e. moving to vs2022, dropping the support for earlier versions and maybe adding the old version as the new extension. Maybe, because one could always install an older version manually (there is version history at marketplace now). What do you think? @mloskot ?

mloskot commented 1 year ago

Although I'm not too experienced with the juggling versions of VS, but I usually install 2019 and 2022 together, and sometimes 2017+2019+2022 on some machines.

dropping the support for earlier versions and maybe adding the old version as the new extension

IMHO, promoting the extension for VS 2022 as the main line of development and release is a good idea. I'd move the older ones into maintenance mode, especially if you @awulkiew use VS 2022 yourself as the main VS and your time is limited. If anyone is using older VS and missing a functionality, then could port it from VS 2022 and submit PR.

awulkiew commented 1 year ago

I've created VS2022-only release. You can dowload it here: https://github.com/awulkiew/graphical-debugging/releases/tag/v0.50 Please let me know if everything works for you.