4 ms·
I only used it for few months as a beginner, so take this as you will. VSCode works, but JetBrains Rider is probably your best bet. It just works and works rea
by e3bc54b2 4y ago
I only used it for few months as a beginner, so take this as you will.
VSCode works, but JetBrains Rider is probably your best bet. It just works and works really well compared to hodgepodge of extensions in vscode. Beyond these 2, you're pretty much on your own, and things never Just Work.
But, beyond the editor, the ecosystem is not Linux-friendly. A lot of libraries expect and assume you are on Windows and just refuse to work for whatever reason. There are near-zero relevant resources (blog posts, stack-overflow Q/As, forums) for developers on Linux. (I guess this is how Emacs users on Windows feel).
The second paragraph is why I stopped. The .NET core itself is decent, and if you manage to limit use within you should be mostly fine, probably. But the experience never feels home and it is a constant reminder of being second-class that's not my personal favourite way of spending life.
- uticus 4y ago> A lot of libraries expect and assume you are on Windows I'm curious about this. Can you give an example of a library that refused to work? I'm having trouble imagining what would cause something to break on Linux - but not on Windows - in a typical .NET library or NuGet package.
- CodesInChaos 4y agoMS deprecated Linux support for System.Drawing in .net 6.0 and will remove it in 7.0. https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only https://docs.microsoft.com/en-us/dotnet/core/compatibility/c...
- Kuinox 4y agoSystem.Drawing never worked well on linux, and is mostly used in windows-only gui. To generate/process images, there are other, great, .NET library like SkiaSharp, or ImageSharp.
- CodesInChaos 4y agoI think there is still a lot of benefit in a first-party library which provides shared abstractions like `Color` and `Bitmap`, even without any fancy manipulation capabilities.
- davidhbolton 4y agoI came across this with System.Drawing on Ubuntu and successfully managed to replace it with SkiaSharp code instead. It was drawing a map for a game in memory then saving to a .jpg file. I use VS 2022 Community on Windows, tested it there then published to Linux and uploaded over SSH to a VPS. It worked very nicely.
- aaaaaaaaata 4y agoSo are these mostly documentation/outreach issues, then?
- Kuinox 4y agoThe documentation of System.Drawing point to these projects: > If you can't use System.Drawing with your application, recommended alternatives include ImageSharp, SkiaSharp, Windows Imaging Components, and Microsoft.Maui.Graphics Sadly .NET devs will jump on any first party software and won't look a lot in community alternatives.
- pablok2 4y agoEverything I write in .NET eventually makes it to a Linux container, I'm not quite writing code in the same environment, but the only difference I've encountered so far is how DateTime works with UTC.
- CodesInChaos 4y ago> how DateTime works with UTC What do you mean by that? I know that the timezone definitions in txdb are not the same as the ones MS uses on Windows, but it doesn't sound like you're talking about that.
- pablok2 4y agoSomething about how Linux and Windows using different local times, Linux uses the hardware clock in UTC and then converts, Windows sets the hardware clock to "Local" time adjusted for daylight savings time (https://www.codeproject.com/Questions/533978/C-23plusWINDOWSplusandplusUNIXplusDateTimeplusArep https://www.codeproject.com/Questions/533978/C-23plusWINDOWS...)