microsoft / ConcordExtensibilitySamples

Visual Studio Debug Engine Extensibility Samples
Other
122 stars 50 forks source link

Visual Studio 2017 Support problem #36

Closed onor13 closed 7 years ago

onor13 commented 7 years ago

Hello, my LanguageService and Debugger are in Visual Studio 2015, and I am trying to add the possibility of my plugin to be used under both VS 2015 and VS 2017. Similarly to the Iris sample, I rely on the old version of System.Reflection.Metadata (System.Reflection.Metadata.1.3.0-rc3-23923) in order to be able to decode method signatures. The newer versions of this DLL do not support this feature. Under VS 2015 everything works fine. With VS 2017 the Debugger uses a new version of System.Reflection.Metadata (1.4.1) that came with the installation of VS 2017 instead of using the System.Reflection.Metadata 1.3.0 that came with my VSIX see screenshot below:

metadataerror

Any idea on how to solve/bypass it. And why this decoding feature was removed from the newer version of System.Reflection.Metadata and is there any alternatives to it? Thanks in advance, Vladimir.

onor13 commented 7 years ago

Apparently the Decoding API has changed: different Namespace and parameters, but available in 1.4.1 version. Now the debugger almost works, just in the Call Stack I see . I did not reimplement the call stack part, so in VS 2015 had the default behaviour with IL methods name. Well I guess the next step is to migrate my Language Service+Debugger to VS 2017 and pray for the best.

plnelson commented 7 years ago

Possible fix in PR #37

plnelson commented 7 years ago

Fixed in #37