The problem with .Net's vision has been painfully obvious to anyone following .Net over the years - it is still Windows First. While in Enterprises and Startups [1], Linux is what matters on the Server.
As an example, just last week I was looking for some http2 libraries in C#. Go and Java have mature libraries already in production, while .Net only supports http2 services on Windows. That in turn affects other ecosystems as well, such as gRPC Services. This to me is a red flag. Given how important something like http2 was going to be, how come Microsoft is so late to the party? What exactly is .Net's niche, given front-end wars are over?
Another example, the very promising CoreRT project (https://github.com/dotnet/corert) page says this about Linux: "Same as Windows, the libraries are less complete."
As a late comer, .Net faced an uphill climb. High-end web tooling is almost exclusively JVM based (Kafka, Cassandra, Elastic Search, Kibana etc). The upcoming competitor is Go, not .Net. If Microsoft doesn't pour a billion dollars into getting .Net ready for Linux in 2018, .Net is over.
[1] I've been a consultant to several Small and Medium sized businesses (especially in Medical) which predominantly use Windows and .Net, and that's still a huge market. But even they are looking to move off Windows.