I don't think it's necessarily the wrong decision but you have to decide if it's right for your project.
Most C# apps I've worked on in the last 5 years are deployed to Kubernetes.
- EFCore is MSSQL first, even if other options are provided
- Many libraries ship with two implementations: an over-engineered Windowsy version that barely works (with a big scary warning that it should never be used in production), and a thin wrapper around some Azure service
- Important tooling like the debugger (which wouldn't be so necessary if .NET had halfway decent support for printf debugging, but here we are...) is locked to be compatible with VS and (MS' build of) VSCode, despite both of them using supposedly open (and Microsoft-pushed!) standards like DAP
- The community is really culty, the response to "X is broken when using the non-MS-Stack alternative" always seems to be "well use the standard MS solution then"
- It's practically open source in name only, because the build engineering is so convoluted that it's nearly impossible to find the canonical source code of core features like the standard libraries
- "Many libraries ship with two implementations..." I've yet to come across these "many" libraries in the 5 years since I've been building services with .NET Core.
"The community is really culty" - I'm not sure where this is coming from. It's hard to refute such vague criticisms.
- "It's practically open source in name only" - Here is the base class library source: https://github.com/dotnet/runtime/tree/main/src/libraries or https://github.com/dotnet/corefx/releases (depending on what version you're looking for)
1. https://docs.microsoft.com/en-us/ef/core/get-started/overvie...
Maybe our definitions of open source are different, or maybe you're just shitting on Microsoft for your own reasons. Regardless of whatever your experiences have been with .NET in the past, they don't mirror the majority of the folks that use it everyday.
Graphical tooling to deal with process dumps, etw data, and profiler information only available on VS.
What projects? None of those are forced on you or have any references to them built into .NET Core. I've been building .NET apps since 1.0 reached beta (in 2001?) I can count on one hand how many times in total that I've worked with those systems. This argument is a hell of a reach.
> GUI frameworks out of Redmond The upcoming Microsoft MAUI is cross-platform (no, Microsoft isn't building support for Linux, but there are open source efforts working on it.)
You can use https://avaloniaui.net or https://platform.uno
> Graphical tooling to deal with process dumps, etw data, and profiler information only available on VS.
https://www.hanselman.com/blog/dotnettrace-for-net-core-trac...
There's also https://github.com/SachiraChin/dotnet-monitor-ui
You can use JetBrains rider to profile in Linux/MacOS as well: https://www.jetbrains.com/help/rider/Profiling_Applications....
If you don't want to use .NET, you obviously don't have to.