We are about 70% of the way through a complete Go rewrite and I couldn't be happier with the outcome. For once, things just work as expected, on Windows, Linux and OSX.
I'm glad Microsoft is finally doing something to make .NET something other than a shit show on Linux, but we needed that 3 years ago, not 3 years from now.
Alas, too little too late for us anyway. I hope it works out better for others, but the ship has already sailed.
Key word: limited
I don't believe MS will ever fully support Linux 100%. They will always make their software tooling more compatible with their OS even though they have the ability to create software for Linux that is on par with the Windows counterparts.
Microsoft purposely leaves their "cross-platform" software gimped out so that anyone who does decide to take up .NET on Linux will eventually want to switch to Windows because Microsofts support for Linux is half assed.
Hopefully most people can see through the obvious MS shilling that's been going on lately.
Some people seem to believe the "new bash" coming to windows is somehow a game changer and that this means they no longer need Linux. Please. Setting up any serious development process in this Frankenstein OS is going to be a nightmare and it's going to break every tool chain conceivable.
Right now it's not much with C# in cross platform development (ASP.NET is in total flux, it's not even renamed to Core 1.0, Rider IDE still not released), but soon™.
FWIW I've used Mono in production on Linux in telecom, and it's handled many billions of messages over the years. With F# nonetheless. Apart from a few rare issues here and there it's been a great experience.