4 ms·
My understanding is that with .NET Core, the experience of developing and running on Linux is on-par with Windows(?). However, my impression is that once it com
by noisy_boy 4y ago
My understanding is that with .NET Core, the experience of developing and running on Linux is on-par with Windows(?). However, my impression is that once it comes to building web services, ASP.NET has more "windows-specific" assumptions/moving parts - can someone knowledgeable on this correct me if I'm wrong?
- shhsshs 4y agoI have ton of experience with ASP.NET Core and have not had that impression in the slightest.
- nizmow 4y agoYou're wrong. Everywhere I've worked the general pattern is to build using Windows/Linux and deploy entirely on Linux (or Docker).
- metaltyphoon 4y agoThere is nothing in ASP NET that is more “windows specific”. Since its inception, I have used these scenarios and they all worked without flaws: Windows -> Linux WSL -> Linux WSL2 -> Linux (Its real Linux) macOS -> Linux All of the scenarios were deployed to AWS.
- nathanaldensr 4y agoAny .NET NuGet packages targeting .NET Core/.NET 5+ without the -windows TFM will run on any platform that CoreCLR runs on. ASP.NET 6 is no exception. There is nothing Windows-specific in there any longer, and there hasn't been for quite some time. ASP.NET now runs by default on Kestrel, Microsoft's cross-platform web server.
- spyremeown 4y ago> Any .NET NuGet packages targeting .NET Core/.NET 5+ without the -windows TFM will run on any platform that CoreCLR runs on. I got sleepy just reading this. There's just so much fragmentation and frameworks and different versions of frameworks and web-servers... can't Microsoft just let the .NET be and let them do their thing? They have certainly pumped out loads of amazing software that seemed to get a knee on the guts by higher management.
- ynx 4y agoIn fairness that is what they have done. .NET Framework is dead, .NET Core is "dead" (to clarify: .NET Framework dies with .NET 4 and .NET Core/CoreCLR is .NET 5 and above). Mono is a cross-platform (ish) implementation of .NET Framework, but its future is (eventually) to be replaced with the main .NET which is now based on the cross-platform version (.NET 5 and above, which is currently distinguished from Framework by continuing to call it ".NET Core"). Mono and .NET Framework will fade away once Unity gets their act together and moves on from it. tl;dr: .NET 5 and above are, for all intents and purposes, the only future path for .NET, but we're in a transitionary period right now.
- svick 4y agoNote that Mono, the framework, is indeed dying. But Mono, the runtime, is now part of .Net and it's an alternative to CoreCLR, used for things like Xamarin/MAUI and Blazor. Though most of the time, you don't need to know any of this, you just use .Net and it works on Windows, Linux, Android, Apple and in the browser.
- caseagainstnet 4y agoYou can also use the .NET CrossCore assemblies (available since .NET Framework Core 4.777.2.1) and do multi-targeting for ASP.NET Core (the Framework version of ASP.NET Core, not the Core version which since version 5.0 is incompatible). Using ASP.NET Core 6 (the new name of ASP.NET 4.2) you can also target Linux if you compile with the flag /fuckallthatshit
- hutattedonmyarm 4y agoI wouldn't call it on par. But it has been getting better. Developing on Linux still isn't great (I vastly prefer Visual Studio over VSCode for .NET), but might be good with the Rider IDE, which I haven't used. Running it has come a long way, but there are still some annoyances left. I'd still say that it is good, though
- Semaphor 4y agoFWIW, I’m on Windows and still prefer Rider over VS
- simooooo 4y agoI run all my .NET core apps containerised in Linux. Works the exact same as on windows
- fabian2k 4y agoThe only parts that are noticeably Windows-centric are some of the tools around .NET. The older tools are Windows-only, you can't get Visual Studio on Linux. For ASP.NET there is nothing Windows-specific in there I've noticed.
- WorldMaker 4y agoThere's no issues with Windows specifics in /ASP\.NET( Core)?/ version >= 5.0. There's some issues if you need to use an older version of ASP.NET and whether or not it has "Core" in the name, but after .NET 5 and ASP.NET 6 there's no longer that fork to confuse things and it's back to much simpler version numbers/checks and no longer needing to worry about the word "Core".
- kcartlidge 4y ago- Ignore all the DotNet version names and numbers unless you're working on legacy stuff. - If you're starting from scratch all you need to know is that you should use DotNet 6+ and you'll be on the mainstream track with full cross-platform support. - Nothing is Windows-specific unless you're actually wanting to target Windows stuff specifically. - If you're doing desktop dev MAUI is the way forward, but personally I don't trust Microsoft with desktop stuff any more (too much switching and deprecation over the years).
- noisy_boy 4y agoThanks - I was actually more confused by the comments as I'm a total beginner to .NET (just interested to learn). This sounds like a more simple/distilled advice in my context.