Wrong. Linux support is first class in .Net just like Windows. We are strictly running our .Net code on linux servers and have encountered 0 problems over the past 5 years.
These people could not care less about engaging with the subject, they are here because they feel obliged to engage in a moment of hatred of what they think is an enemy tribe.
How do you tell systemd/sysv that your daemon is now ready to accept connections? How do you log to syslog?
In java there's no equivalent to daemon() (unless you go out of your way to call the libc) and java doesn't support SOCK_DGRAM for unix sockets, so no syslog either.
.net seems to have the same issues.
"everything just works" is true only for a very very narrow definition of "everything" which leaves out "daemon that works decently"