What's missing in .net core/standard for it to be a Java alternative today? I work with .net on windows so I'm not sure.
A big problem I ran into recently is that the documentation for some methods indicate they can throw a "PlatformNotSupported" exception but don't link to anything that lists which platforms/versions actually support the method.
Some new features like single file executables will break existing code in subtle ways, a common method of getting the application directory was to use Assembly.GetExecutingAssembly().Location, when running as a single file executable that returns an empty string.
I still think it's a big improvement over the older .NET Framework stuff that I'm mostly using, but I can see why it isn't so appealing to the Java crowd.