C# has been cross platform for a long time.
Almost everything ever written in C# uses Windows-specific APIs
Not really. Most C# apps use .NET libraries rather than direct Win32 calls, and .NET is cross-platform.
basically no one installs the C# runtime on Linux anymore
You can compile a C# app to a single executable that doesn’t require the framework to be installed.
Are you running Jellyfin, the *arr suite, slskd, or Technitium DNS? They’re all written in C#.
riskable@programming.dev 1 day ago
You’ve obviously never tried to get any given .NET project working in Linux. There’s .NET and then there’s .NET Core which is a mere subset of .NET.
Only .NET Core runs on Linux and nobody uses it. The list of .NET stuff that will actually run on .NET Core (alone) is a barren wasteland.
dan@upvote.au 1 day ago
I’m a C# developer and run .NET apps on Linux all the time. Even before .NET Core, I was using Mono to run C# apps on Linux. There used to be quite a few GNOME apps written in C#.
Nope. The old .NET Framework has been deprecated for a long time. The latest version, 4.8.1, is not very different to 4.6 which was released 10 years ago.
The modern versions are just .NET, which is what .NET Core used to be, but with much more of the framework implemented in a cross-platform way.
All modern .NET code is built on the cross-platform framework. Only legacy apps used the old Windows-only .NET Framework.