SLaks/Ref12

Show metadata form external libraries not working

Closed this issue · 8 comments

I have a project with a reference to a library. When using F12/"Go To Definition" on an interface from this library nothing happens.
Using F12 on Types inside this project or on .Net Types works perfectly.

What version of VS and Ref12?
What language is the project you're pressing F12 in?

Visual Studio 2012 Update 4
Ref12 3.0
All projects are c# projects

I can't reproduce that.
What type were you pressing F12 on?
What other extensions do you have installed?
What do you see in the Output window?
Can you attach a debugger to VS, set Break on All Exceptions, and see if any exceptions get thrown?

I used F12 on an Interface, the project to which this Interface belongs is part of the current solution, but this project is unloaded.
Installed Extensions:
AnkhSVN, ANTLR Language Support, CodeMaid, Microsoft ASP.NET and Web Tools, Microsoft.VisualStudio.InteractiveWindow, NuGet Package Manager, Productivity Power Tools 2012, Python Tools for Visual Studio, Python Tools for Visual Studio Django Support, Python Tools for Visual Studio IronPython Support, Python Tools for Visual Studio Profiling Support, Snippet Designer, Visual Studio Extensions for Windows Library..., Visual Studio Spell Checker, VSCommands for Visual Studio 2012

The Output window shows nothing when pressing F12.
When attached, no exception is thrown or shown in the output window.
I'll try to build a debug version, maybe this way i can provide some more useful information

After some testing it seems as if I'm missing some Assemblies on my system, as your Ref12.Roslyn.dll depends on Microsoft.VisualStudio.Text.Data, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a which is not present on my system.
I have only Visual Studio 2012 and it's SDK installed and was not able to determine where to get version 12 of Microsoft.VisualStudio.Text.Data assembly.

Ref12.Roslyn.dll contains the implementation for the Roslyn End-User Preview on VS2013.
If you aren't running that, it will never be loaded (see https://github.com/SLaks/Ref12/blob/master/Ref12/Commands/GoToDefinitionInterceptor.cs#L24-L30).

To build a debug version on VS2012, unload the Ref12.Roslyn and Ref12.Tests projects, remove the reference to Ref12.Roslyn, and remove the code in CreateRoslynResolver() (change it to throw an exception)

I will try that on monday

Hi,
after spending some time into debugging to only realize that in this environment everything works perfectly i started to disable and uninstall as much extensions/add-ons as possible. Even without Ref12 installed "Go to definition" just worked on Types defined in the current project. So i deleted all my user settings using "devenv.exe /ResetUserData". Since this everything works just fine. Installed Ref12 and some other extensions and still "Go to definition" works with "external symbols". Seems as if there is some weird option i had set (i really can not remember doing so) and was not able to reset in Visual Studio.
So, thanks for this great extension :)