I have a Windows Forms solution in VS 2013 Pro that has several projects in both VB and C#. One of the dependencies looks like this:
Startup Project, SP (VB)
Custom Controls Library, CL (C#)
Utils/Constants Library, UL (VB)
UL (again, referenced directly from SP)
My problem is that when I Go To Definition from SP to CL, it takes me to the Object Browser. When I Go To Def from CL to UL, it brings up metadata. But when I Go To Def from SP to UL, it works fine. Also, when I Find All References of a control in CL, it doesn't show the SP references, but when I do it from SP, it shows references in both SP and CL.
I have searched on StackOverflow, MSDN, and several other forums, and tried all suggestions I've found: I have removed all references and rebuilt them (I am 100.0% sure they are all project references, not file references). I have completely deleted my solution file and added the projects from scratch. I have ensured that the GUID in the references matches that of the references. They are all being built with the same framework, and all for the same processor type. All projects are producing pdb and xml debug files. I assume that VS2013 did away with IntelliSense database files, as I cannot find any of them on my disk to delete (or I would have tried it!).
Another interesting (I'm assuming related) detail is that method/property renames in CL are not reflected in SP. Not only are the SP subclasses' symbols not renamed, but Visual Studio doesn't even alert me to this error until I have rebuilt. So, it seems as if IntelliSense is corrupt, or there is something else I'm missing.
I am really at a loss. As far as I can remember, this functionality has worked. I can't say for sure whether it worked since upgrading from 2012 to 2013. Is anyone having the same experience? I have disabled add-ons, rebuilt solution, re-added project dependencies… and I would reinstall Visual Studio, but don't really want to lose several hours of development doing that if there is a simpler method.