I'll be honest, as much as I love the improvements with .NET Core/.NET Standard, Microsoft's branding strategy leaves <i>a lot</i> to be desired.<p>vNext has already been historically used in the context of ASP.NET to refer to ASP.NET (not to be confused with ASP.NET MVC) v6. We restarted the versioning back with ASP.NET Core, now on version 2. Entity Framework used to be a .NET framework component but is now standalone, and has a Core version? Does Blazor (or is it Razor Components now) share the .NET branding?<p>Separate to the web stuff, we have the .NET platform - .NET framework is the non-cross platform version for which we're on version 4, but it implements .NET Standard v2 along with .NET Core, which has a Linux runtime. Mono also implements .NET Standard v2 and has a Linux runtime.<p>I remember many years ago when we also had Microsoft .NET Passport.. which was completely unrelated to everything else that I've mentioned related to the .NET brand.<p>And now we have .NET 5 which is neither Framework nor Core - so will ASP.NET drop this Core branding too? Is it just me, or is this all incredibly convoluted?
"There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more."
I have extensive XP with .NET Core 2 in production on huge services with 1M+ users - we started making some stuff before 1.0 and had it in production after having few sessions with local MS.<p>WebAPI, APS.NET Core, Pwsh, C# 7... I dont work for MS, but that is some seriously good tech stack. Performance is amazing too. I highly recommend it. Worked in 50+ environments so far but this is top stuff. MS really nailed it this time. No, don't tell me that JAVA is comparable to C# in elegance, that linux dudes had python/ruby/perl/whatever before Powershell etc.<p>The only problem we had so far was with the Oracle db drivers which were non existent until several months back, but that is on Oracle... which sux more and more each day - commercializing java for example will just give a boost to .NET now, a lot of it - who at Oracle made up such decision escapes me, but maybe he works for MS.
I am very pleased with the direction Microsoft has been moving the last few years. Every release of .Net has incrementally made our lives easier.<p>We are already on top of .Net Standard/Core 2.0 and are building successfully against 3.0 prerelease targets without modification. I would anticipate the move from Core 3.0 to .NET 5.0 would be trivial for us, and as long as self-contained deployments are still around in 2020 our build & publish pipeline won't know the difference (aside from msbuild & SDK updates on Jenkins).<p>Exciting times ahead.
So, does this also replace/update the .NET Framework that is bundled with Windows 10, meaning that you can release a .NET EXE and ask people to use the latest version of the .NET like you can release a .JAR and you can ask people to have the latest version of Java, or you have to bundle the entire runtime (be it via a fat compiled AOT or regular bundling) with your application?<p>I ask because one of the positive things about .NET Framework 4 is that i can create a tiny .EXE and give it away and expect that people will have the runtime to run it since it is already part of Windows.
I was really excited to see this; finally a consolidated .NET. Then I read this...<p>Taken together, the .NET Core and Mono runtimes have a lot of similarities (they are both .NET runtimes after all) but also valuable unique capabilities. It makes sense to make it possible to pick the runtime experience you want. We’re in the process of making CoreCLR and Mono drop-in replacements for one another. We will make it as simple as a build switch to choose between the different runtime options.
Does this spell the end of .NET Standard?<p>And does this explain why they don't seem to care about making .NET Standard versions at all logical to developers (e.g. making a major breaking change, not supporting .NET Framework, to .NET Standard in a minor version)?<p>Edit: And before someone says ".NET Framework is choosing not to support .NET Standard, you shouldn't version based off implementations but off changes in the API": That only works if you have many implementations, .NET Standard has 3 major implementations! Losing 33% is pretty significant :)
I haven't used .NET since 2011, if you're in the same boat take a look at C# today. They're grabbing all the best features of other languages and making it their own, WHILE also allowing you to deploy static binaries to _any_ major platform.<p>Write C# code purely in VSCode or Rider, compile to all three platforms while on a Mac, and run your code in Linux. All from supported, non-hacky features.<p>Why use Go if you can use C#? C# is now incredibly compelling. The C# of today is not the C# of 6 years ago.
I think there are some developers who would consider .NET 5 a huge breaking change. .NET (Framework) 4.8 looks like the predecessor but has features (rightfully) not available in .NET 5.<p>I like the vision but hate the name. .NET Core 4.0 would have done it. When you market software engineers stick with patterns. This looks like a lot of managers have feedback to stuff they did not understand in the first place.
Funny how this announcement comes the same week Oracle decided to kill Java EE. MS has always been good to it's developers and broadening the .NET platform this way makes one really consider to give it another look. Oracle in the other hand basically spreads FUD about their own platform, even though they seemingly don't even care about it anymore.
For the newbie here, can someone tell me if this is open-sourced? Many are fearful of building on a MS platform in case they change their minds in the future etc?
This seems like it would be a prime opportunity to introduce UWP applications to macOS and Linux. That would be a welcome alternative for developers looking to develop high quality native + cross platform applications.
We just started a new project on .NET Framework 4.7.x, because not everything that we care about is available on .NET Core, not even with the upcoming .NET Core v3.0.<p>Lets see how .NET 5 will sort out the current state of affairs.<p>In any case, it is a welcome change to sort out the mess that the whole WinRT and .NET Core 1.x have brought out.
Off the topic, but I come from Python / Django / Flask. (Have experience programming desktop apps with .NET 4 and C#). I just don't <i>get</i> web app development with asp.net core.<p>Is there a ground up tutorial, concept-wise, about how asp.net works?
I'm cautiously optimistic.<p>> Moving to a single .NET implementation raises important questions. What will the target framework be? Will NuGet package compatibility rules be the same? [...] How does writing code for a specific architecture work? [...] We are working through these issues now and will soon be sharing design docs for you to read and give feedback on.<p>This, however, is my biggest worry. Between runtimes, content files, analyzers, native references, asset visibility rules, etc., packaging has become kind of a mess. I'd love to see a move away from monolithic packages, but IDK if that's on the table. Fingers crossed.
I'd just like to know what do they mean by ...<p><pre><code> > Java interoperability will be available on all platforms.
</code></pre>
What, is that possible now on some .NET platforms? What does it mean? That I can use java classes in my .NET application??
What does it mean to standard ASP .Net (not core)? Will I be able to run all the enterpisey apps that use ASP MVC and WebForms on Linux in 2020? And if not on Linux, then will WebForms / old MVC work on NET 5 on Windows?
Interesting but as there is a 3.1 LTS version due before this comes out and this 5.0 release is not LTS, with any of those features not going LTS until 6.0 in Nov 2021.<p>So that kinda diminishes my initial excitement, much could change in a short period and we are talking over 2 years until any additional features becomes set in stone with LTS support. So for me, it's probably not looking at until 6 months before LTS release. As is the case with many others.<p>But some good changes - a rebrand would of cut of any confusion and historical hangovers. As between now and Nov 2021, much could change.
I'm sure I'm not alone in thinking that the .NET ecosystem is super confusing, coming as a developer outside of that ecosystem (mostly web).<p>I'm a JS, Python and PHP developer who sees a majority of jobs in my area as .NET centric. To this end, I'm interested in familiarizing myself with .NET [1] but I'm totally at a loss wrt/ where my entry point to the ecosystem should be.<p>[1] Insofar as starting a new small project or re-implementing an old side project in .NET as a learning process.
The most interesting piece of work happening in the .Net world is actually CoreRT (which is already beta quality), which lets you write fully native apps with access to the large .Net ecosystem. For many, it could be an alternative to Go/Rust. c# is a more capable language that Go, and easier than Rust - a particular sweet spot.<p>Instead the announcement was primarily about unrolling the version mess created over the last few years.
As you can see from 300+ comments at the time of writing, the post is entirely unclear about what's happening seeing as everyone still argues about it.<p>My read of it is that .NET Core becomes the new .NET, not that .NET Core has parity with the existing .NET.<p>Specifically I can't just retarget my existing projects against .NET Core (or the new .NET) and have them just work.
Coming from mainly python I must say I'm extremely impressed with .net core.<p>I think my mac days would be over if Windows had better font rendering and a usable terminal -- even ConEmu leaves a lot to be desired.
I'm curious and don't see anything. But what about things like IPC? Is WCF available yet? Is there an abstraction for namedpipes for all the platforms?
Semi-tangent, but as someone who didn't try to follow AOT compilation but very much wants to, would anyone have tl;dr instructions using the current version of .NET on how to turn a HelloWorld.cs file into a native HelloWorld.exe? You'd think it's just calling a couple of commands on the command line, but every time I've searched for it I've come across pages and pages of documentation I had no time to look through.
Is it just me, or are all critical comments being downvoted here. It seems like this thread is overrun by PR folks and microsoft employees.<p>In the techcrunch windows terminal thread, one of the top comments starts with "I've been developing on both MacBook Pro's and Windows laptops for 15+ years now, on a daily basis, and I can confidently say that Windows laptops are superior to MacBook Pro's for development in every way.".<p>It reads like an infomercial. What is going on? Did the "hacker" community suddenly fall in love with Microsoft?<p>Another gem: "Satya seems to be the rare visionary CEO of a megacorp, instead of just defaulting to a defensive and reactionary stance like most other leaders."
Looks like MS realized they made a mess with .net core ...before thinking through how they should have done this...
It was really not difficult to see ..if they wanted to make .net open source and their BA, PM and developer should have seen this coming... after MS bought Xamarin..they could have worked on mono and make things easier for everybody... Now they are abandoning again this new '.Core' bandwagon...so much money and time was spend by community on creating and building libraries product...<p>I just convinced my PM and team, that we should consider .net core and they have agreed...we have started development of our new app..<p>This news will make things more complicated...Sigh<p>Edit: Quite negative votes..No need to down vote..just explain your viewpoint with more civilized means using "reply"