Fellow Microsoftie here
In my opinion FreeBSD can actually provide a
much better "Windows server" than Windows itself does. For starters: it doesn't require any expensive licenses!
However .NET on Windows is not the same as .NET on FreeBSD, I think.
Since the .NET implementation on FreeBSD is based on mono, if I am not wrong.
First... fun fact: the .NET infrastructure is actually also an open source project. And one which also found its way onto FreeBSD through
lang/dotnet. This setup 'powers'
shells/powershell and I hope you know what that means!
Next part, yups, it's like you said:
lang/mono5.20 is a big part of this. In addition don't forget about
www/mod_mono as well:
the perfect solution if you want to work with ASP.NET (which is often build upon C#.NET).
Seriously: I rely on Apache/mod_mono + Mono to host my own ASP.NET powered websites, build right with Visual Studio 2022 community. Works like a charm, and it's even more robust than IIS (IMO anyway).
Putting the fancy things aside, how well are the core language features supported in terms of syntax ?
Well, I'm not an expert (!) and I'm also convinced that it's not fully one on one. But so far I never had issues with building stuff in VS, moving that onto my FreeBSD server and then using my code there. Disclaimer: I mostly do this with ASP.NET and not so much the commandline.
However... ever since I discovered that I could run PowerShell on FreeBSD as well I actually started building some (dedicated) cmdlets for it, and so far... so good. Though in all fairness it's not much of an example because I haven't tried digging deep into system processes yet.
If C# 13 for example is not well supported, then looking at the features in version 13 at this point of time wouldn't be relevant for FreeBSD, I think.
The latest & greatest has always been an issue when it comes to 3rd parties. Same applies to ASP, I never relied on the latest standards just to be sure that I wouldn't run into hiccups right away.
But considering the fact that Mono is actually sponsored by Microsoft these days as well as actively supported (not to mention having become a part of the .NET infrastructure itself) I think it's fair to say that you can put some level of trust into it.
Yet why would it
have to be the 'latest and greatest' though? I guess this also heavily depends on what you plan on doing, and yah... that depends on context.
Hope this can give you some ideas, but yeah... I'm not kidding when I say that FreeBSD is also
one heck of a "Windows (support) server" for me.