Go to definition takes me to metadata file instead of source code
To solve this problem follow the below steps.
1. Unload all libraries from project. Also remove any library references from the References tree.
2. In the Solution Explorer tab, right-click on the top-level Solution.
3. Right-click on Add... --> Existing Project.
4. Browse to the top level of the Library folder to be added and select the .csproj file.
5. Repeat for each library.
6. Now, in the References tree for the project, right click on Add Reference.
7. Add the dll references to your project from the "Projects" tab, not from the "Browse" tab.
8. If any of your libraries require references to other libraries, repeat steps 6 and 7 for them also. This will also sort out the dependencies automatically for you.
NOTE :
when it jumps to the object browser, the reference is set to the the assembly (i.e. the dll)
When it jumps to the code, the ref is set to a project within the solution - which is the way it should be done to get the correct definition.