So the scenario is this;
I have a VB.NET project and a C# project in the same VS2010 solution. The VB.NET project is referenced (and used) by the C# project as a project reference. If while I am in the C# project, and I Ctrl-Click or Go to Definition on an element that is part of the VB project, it takes me to C# generated metadata instead of the actual VB code file.
Is there any way to get this to go to the VB code file, so I dont have to navigate manually in solution explorer/navigator?
Currently there is no way to get “Goto Definition” to navigate between projects of different languages. The problem is not just limited to C# and VB.Net but extends to other managed languages like F# and C++/CLI. Each language sees the other as a DLL reference and hence you get metadata.
This is a known issue and something the language teams are well aware of. It’s usually high on the list of potential items for future versions of Visual Studio