Support for navigation to C# symbols from F# has been implemented by Vasily Kirichenko and Saul Rennison in our OSS community. The reverse (C# → F#) is something we’re heavily considering for future work.

Now that the F# tooling has started to improve, this is probably the main reason that I'm holding back on starting to mix F# into my existing projects. I'd love to play around with F# more, and see if it's really as helpful in a real-world projects as its advocates keep claiming. But I'm simply not going to rewrite everything in F#, and until C# and F# work together more-or-less seamlessly, I just can't give up the quality of the C# dev experience, whatever the values of F# might be as a language.

This is also a problem between C++/CLI and C#. What we really need is that whenever the target assembly is part of the projet that the appropriate source code (not metadata nor object browser) is displayed.

It should not be that hard as the debugger is able to figure out which line to display when one debug an application built using multiple languages.

I think that part of the problem is that presently each source language decide which target it support for that command. Obviously, it should be the target assembly language that should find the definition.

By the way not only "Find reference" should works across language but also refactoring like renaming a property.

@Joerg. Interesting point. The main source of pain for myself and people I have discussed this with is F#/C#. But a more general solution would obviously be great for the zillions of VB.NET devs out there (and being more general might well be better engineered).