Make go-to-definition and find-references work between F# and C# projects
This suggestion is migrated to Developer Community. Please use below link to view the current status.
In a solution containing a mixture of C# and F# projects, go-to-definition does not work when your starting point is, say, C# and the target function/value/type definition is in F#. (And vice versa.) The same is true for find-all-references.
This is a major inconvenience when working on this kind of mixed codebase. It would be great if it could work in both directions but even go-to-definition would be a great start.
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.
Phillip Carter, F# PM
How do you feel about this type of earnings https://escortsitelarnaca.com/? Why do girls work in an escort?
Ken Smith commented
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.
Kit Eason commented
@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).
Joerg Beekmann commented
Is this just a f# - c# issue or should it work across all managed languages. F# to VB for example?