News for hackers. Stuff that matters.
Re:.NET 6 Released by kreeben on Monday November 08, 2021 @12:10PM (#29151460)
>> ASP.NET Core in .NET 6.

I've been on .net since 1.1 and .net Core since 1.0 and this statement makes me so confused.

Core lives _inside_ of .net 6? Is there a non-core ASP.NET that also lives inside that framework?

I thought .net 5 was where the legacy 4.x branch and core 3.1 was married in holy matrimony, minus the worst of the legacy garbage.

Re:.NET 6 Released by phillipcarter on Monday November 08, 2021 @12:18PM (#29151558)
> Core lives _inside_ of .net 6? Is there a non-core ASP.NET that also lives inside that framework?

Yep!

> I thought .net 5 was where the legacy 4.x branch and core 3.1 was married in holy matrimony, minus the worst of the legacy garbage.

.NET 5 was the next evolution of .NET Core. There was no great merging of legacy .NET Framework into the .NET Core branch or something like that. It saw a bunch of foundational stuff land in so that .NET could support modern client apps from Xamarin and further support the modern versions of WinForms and WPF.

If that sounds confusing, it kind of is. But it's a clear branding effort - .NET is not a choice between the "slim .NET Core" and the "big .NET Framework. It is either .NET or the legacy stuff (still called The .NET Framework).

Re:.NET 6 Released by dschuessler on Monday November 08, 2021 @12:52PM (#29152012)
Microsoft branding is terrible. My only point of contact with it is Visual Studio Code which is different from Visual Studio which is different from Visual Studio for Mac.

There was a brief period of time after I recognized that .NET really works on all platforms without proprietary stuff and before the `dotnet watch` desaster in which I was at least curious about .NET. But even then I never fully figured out how .NET, .NET Core, ASP.NET, .NET Framework, .NET MAUI and the kitchen sink relate to each other.

If the purpose of branding is to make something recognizable, Microsoft consistently fails across the board with me.

Re:.NET 6 Released by phillipcarter on Monday November 08, 2021 @01:22PM (#29152380)
We used to have a saying on the team when I worked there:

"Nobody can name things like we can't!" (followed by cry-sobbing)

The more serious response to this is:

For better or for worse, The .NET Framework (which is now squarely legacy tech) has stuck around and been reliable. People have had their trust in it validated. For two decades now, if you're a CTO at some big enterprise, you know that .NET Framework will get the job done for much of your development needs. From a Microsoft branding perspective, this is amazing. But it's got all kinds of problems can't be fixed unless you break everyone. Uh-oh!

This is the biggest reason why branding and naming has been so complicated pver the years. And it's even come with little sub-problems, like the fact that the version number for one "flavor" of .NET would match up with the version number for another "flavor" of .NET and so now you're screwed no matter which decision you pick.

A cleaner approach would be to throw it all away and do a complete rebrand (we had a little proposal to call it "Concert" where C# and F# could be played in harmony with each other, how cute) but with that you throw away the brand of one of the most successful pieces of technology ever produced by the company. Not exactly a winning proposal.

The other factor here is that with .NET there is so much software involved. It's three entire programming languages, a runtime, a huge standard library, a web framework, a database access and management framework, a machine learning framework, several Windows app frameworks, a mobile framework, IDE tooling, command-line tooling, and a bunch of other stuff too. .NET is far larger than many other competing stacks in terms of what a single vendor produces. Since Microsoft produces so much software for .NET and aligns their releases, they also message each one, and with that there's a big sea of stuff to keep track of.

I don't know if I have an answer for how to handle the complexity of it all. A lot of folks I know in the F# community only keep track the F# language and IDE tooling updates, then dive into specific stuff only when they care about it (e.g., doing web programming? check out the ASP.NET release notes). But that may not be an option if you're a decision-maker at a company.

Re:.NET 6 Released by dustinmoris on Monday November 08, 2021 @01:36PM (#29152559)
> Microsoft branding is terrible.

Agreed.

> I never fully figured out how .NET, .NET Core, ASP.NET, .NET Framework, .NET MAUI and the kitchen sink relate to each other.

You're not the only one who is massively confused about everything that is labelled .NET or Core.

If anyone else is struggling, I recommend this (I wrote it):

https://dusted.codes/dotnet-basics

Re:.NET 6 Released by Douger on Monday November 08, 2021 @01:57PM (#29152844)
You've done a really nice writeup here. To me it reads as someone patiently explaining the basics without being patronizing.
Re:.NET 6 Released by ziotom78 on Tuesday November 09, 2021 @02:30AM (#29158801)
Wow, I will surely pass this to my students. Thanks for having written it!
Re:.NET 6 Released by sylens on Thursday November 11, 2021 @01:13PM (#29191061)
Just wanted to say thank you for the write-up, it helped bring me up to speed on the state of dotnet as I am looking to get back into it
Re:.NET 6 Released by kingcharles on Monday November 08, 2021 @01:52PM (#29152765)
Great article, thank you.
Re:.NET 6 Released by JasonCannon on Monday November 08, 2021 @02:18PM (#29153054)
>.NET, .NET Core, ASP.NET, .NET Framework, .NET MAUI

ASP.NET Is the web framework that comes with .NET

.NET MAUI is the application user interface framework that now comes with .NET (Since .NET 6)

.NET is the overarching term for everything .NET.

.NET Framework refers to every version of .NET 4.8 and before. .NET Framework only ran on Windows (unless you used Xamarin to run it on other frameworks. Xamarin was a third party implementation of the .NET framework, it is now owned by Microsoft as well).

.NET Core is the new version of .NET. In the first 4 (I think) versions it had it's own branding, .NET core 1, 2, 2.1, and 3. .NET Core runs cross platform across the desktop OS's natively. Xamarin was still used for mobile development.

What would have been .NET Core 4 has been rebranded as .NET 5. Xamarin at this time was brought into the fold, allowing full functionality of .NET Core API's across desktop and mobile. I believe this rebranding was done because .NET Core was being considered full feature enough to take over the legacy of .NET.

One thing you didn't mention but I'll touch on as well, is .NET Standard. Lot's of people get confused about .NET Standard. .NET Standard is just the definition of what different frameworks that implement .NET Standard can use. So if you write your code to target .NET Standard you can't use .NET Core specific API's but what you can do is have the same code compiled against .NET Standard referenced in your .NET 4.5 - 4.8 Code, or your Unity Code, or your Xamarin code. It was primarily designed with libraries in mind.

Re:.NET 6 Released by svick on Monday November 08, 2021 @04:01PM (#29154219)
> ASP.NET Is the web framework that comes with .NET

Not quite. ASP.NET is the web framework that comes with .NET Framework. ASP.NET Core is the web framework that comes with .NET Core and .NET.

> .NET Framework refers to every version of .NET 4.8 and before.

It was fine to call .NET Framework 4.8 just ".NET 4.8" in the past, but I would avoid it now, to clearly separate .NET Framework 4.8 from .NET 5.0.

Re:.NET 6 Released by tonyedgecombe on Tuesday November 09, 2021 @06:14AM (#29160172)
>.NET MAUI is the application user interface framework that now comes with .NET (Since .NET 6)

Not quite, MAUI has been delayed until next year.

Re:.NET 6 Released by rbobby on Monday November 08, 2021 @01:58PM (#29152848)
The naming for .NET got tough when it was decided that open source and cross platform was the way forward. If that had not happened it would all be called .NET framework to this day.
Re:.NET 6 Released by ozim on Monday November 08, 2021 @04:31PM (#29154545)
There are more purposes for branding and if you have people calling themselves ".NET developers" you probably want to stick to that brand instead of coming up with something new that people would not trust.

I believe people would not jump as easily onto that wagon if it would be called "Silverlight Core".

Re:.NET 6 Released by spaetzleesser on Monday November 08, 2021 @01:40PM (#29152608)
Agreed 100%. Even seasoned .NET devs can’t tell what all this stuff means and what the implications are. I wonder if anybody at MS really knows.
Re:.NET 6 Released by tasogare on Tuesday November 09, 2021 @12:12AM (#29157974)
I'm developing with .NET for a decade and I can understand and explain the difference. The trick is too read about it from time to time: miss a few years and there is a lot to catch up. I can see how it can be a nightmare for beginners or people not following closely.
Re:.NET 6 Released by goto11 on Tuesday November 09, 2021 @04:01AM (#29159288)
>> Is there a non-core ASP.NET that also lives inside that framework? > Yep!

No, the "non-Core" ASP.Net framework is not ported to the .Net Core platform (i.e. .net 5+). Only ASP.Net Core runs on .Net Core.

This is unfortunate, because it means older web sites based on the classic ASP.Net does not have clear migration path to .net 5+.

Re:.NET 6 Released by DavidKarlas on Monday November 08, 2021 @12:18PM (#29151555)
.NET is sane now... .NET 5, .NET 6, .NET 7... all cool, no more confusion going forward... .NET Framework(full Windows only Framework) is .NET Framework 4.x, stuck there forever only security patches...

Only remaining confusing part left in ecosystem is "ASP.NET Core", because even though .NET got rid of Core, latest version ASP.NET didn't

Re:.NET 6 Released by Semaphor on Tuesday November 09, 2021 @01:44AM (#29158511)
It’s easy. You have .NET Framework 4.8 which is followed by netcore 3.1 which is followed by .NET 5 and now 6. 4.8 supports netstandard 2, core and 5 additionally support netstandard 2.1. You can then use ASP.NET with 4.8 or ASP.NET Core with 3.1 onward. Entity Framework is only supported on 4.8 and Entity Framework Core up to 3.1 support netstandard 2 so .NET 4.8 and 3.1 onwards both. But the versions after 3.1 (obviously they went to 5 there) only support netstandard 2.1 so only dot net core 3.1 and onwards.

Perfectly clear and reasonable.

Re:.NET 6 Released by jaywalk on Monday November 08, 2021 @02:12PM (#29153002)
Well, part of the problem with the naming for ASP.NET is that the .NET Framework version (WebForms) was simply called ASP.NET, so they couldn't just drop the "Core" like they did with .NET itself.
Re:.NET 6 Released by JasonCannon on Monday November 08, 2021 @02:23PM (#29153099)
ASP.NET isn't only WebForms. It also covers the Razor engine as well as their WebAPI (API only).
Re:.NET 6 Released by merb on Monday November 08, 2021 @05:55PM (#29155402)
btw. webforms is dead. thank god.
Re:.NET 6 Released by mcny on Tuesday November 09, 2021 @01:57AM (#29158596)
As far as I know that's because asp.net mvc 5 already exists. For example Entity Framework 6 already exists so the new stuff will still have the name core until the number is high enough that there is no legacy stuff with the same number anymore.
Re:.NET 6 Released by vyrotek on Monday November 08, 2021 @02:10PM (#29152981)
And Entity Framework Core unfortunately because EF6 was already a thing.
Re:.NET 6 Released by WorldMaker on Monday November 08, 2021 @02:48PM (#29153404)
Yeah, hopefully as others have pointed out, with .NET 7 next year all the version numbers align so that ASP.NET and EF can drop "Core" again.
Re:.NET 6 Released by foepys on Monday November 08, 2021 @03:04PM (#29153562)
Searching the internet for help is going to be a nightmare, though.
Re:.NET 6 Released by WorldMaker on Monday November 08, 2021 @03:27PM (#29153811)
Shouldn't be too bad, I don't think, if you remember the version number. Which anyone that worked in ASP.NET 4, 5 or 6 was generally pretty used to (a lot of things changed between versions even the "classic" .NET Framework days). I still have "fond" memories of fighting to find a specific EF6 answer that was different from EF4 or EF5, but that was still somewhat easier than having to remember to add "core" to all your searches lest you get classic EF3 results when searching for EF Core 3.x help. Having a version number high enough that you no longer need "core" is something I'm looking forward to.
Re:.NET 6 Released by yyyk on Monday November 08, 2021 @09:48PM (#29157139)
There was an EF7 RC1 version, and .NET 7 isn't LTS. Dropping "Core" is better done in .NET 8 - or MS could pick an entirely new name.
Re:.NET 6 Released by svick on Monday November 08, 2021 @04:03PM (#29154251)
I guess they could do that, but what makes you think they actually will?
Re:.NET 6 Released by WorldMaker on Monday November 08, 2021 @07:09PM (#29156058)
I stated "hopefully … they can". I mangled the commas on that one, but that was the intended statement: "hopefully they will". I have no idea if they actually will.
Re:.NET 6 Released by goto11 on Monday November 08, 2021 @01:36PM (#29152557)
The naming really is confusing. "Core" was the keyword for several semi-independent projects.

There is .Net Core, which was a rewrite of the .Net runtime to make it platform independent.

Then there is ASP.Net Core is which is a rewrite of the ASP.Net web stack. Despite the name, this was not initially dependent on .Net Core platform, it could run on both .Net Framework and .Net Core.

ASP.Net Core is the only web framework running on .Net Core though, the old ASP.Net framework is not ported to .Net Core. So to answer your question, no, there is not a non-core asp.net running on the .Net Core platform.

Then there is EF Core which was a rewrite of Entity Framework. Again, this was not initially dependent on .Net Core, although later versions is.

Basically "Core" just means "new backwards-incompatible rewrite".

Re:.NET 6 Released by cl0ckt0wer on Monday November 08, 2021 @12:25PM (#29151665)
the old "framework" versions are in maintenance mode. That is the OG aps.net and framework. it's currently at 4.8 and will probably stay there forever. This includes the OG versions of things like ASP.NET and Entity Framework.

The open source multi platform rewrite, originally named core, now named "", is going to be the active platform going forward. There are several core rewrites of the popular modules that will be the ones that are actively developed going forward.

We can either stay on 4.8 forever, or migrate to the "" which is where all the new and exciting things are being developed. MS has promised they will support 4.8 for the foreseeable future, for what it's worth.

Here's a video explainer: https://youtu.be/4olO9UjRiww

Re:.NET 6 Released by GiorgioG on Monday November 08, 2021 @12:17PM (#29151533)
I think "ASP.NET" would imply the legacy web framework, so they had to keep the "ASP.NET Core" name. Not unlike EntityFramework & Entity Framework Core.
Re:.NET 6 Released by na85 on Monday November 08, 2021 @12:48PM (#29151960)
Microsoft is easily the worst at naming things.

At this point I've given up hope at grokking the various names within/peripheral to dotnet.

Re:.NET 6 Released by beauzero on Monday November 08, 2021 @01:35PM (#29152538)
Looks like .NET Framework has had it's life extended as well. It is scheduled to be installed on Windows 11 and Server 2022 which gives the 10 year native to OS support. https://docs.microsoft.com/en-us/dotnet/framework/migration-...
Re:.NET 6 Released by mbesto on Monday November 08, 2021 @02:59PM (#29153501)
Welcome to .NET :)

It requires a PhD to understand versioning at this point.

Re:.NET 6 Released by 0xfeeddeadbeef on Wednesday November 10, 2021 @04:50AM (#29172922)
Historically — yes, ASP.NET Core 1 and 2 had the ability to live _inside_ both .NET Framework and .NET Core.
Re:.NET 6 Released by tonicbbleking on Monday November 08, 2021 @12:17PM (#29151539)
Naming it ASP.NET 5 would clash with .NET Framework ASP.NET 5 MVC, hence the ASP.NET Core 5 name.
Re:.NET 6 Released by DaiPlusPlus on Monday November 08, 2021 @12:21PM (#29151590)
Re:.NET 6 Released by kingcharles on Monday November 08, 2021 @01:56PM (#29152834)
Wow, I take it you are the author of that post. That is incredible. You need some sort of presidential medal for that.
Re:.NET 6 Released by metaltyphoon on Monday November 08, 2021 @12:18PM (#29151560)
I see all 'Core' names being dropped with the release of .NET 7. So it would be .NET 7, ASP.NET 7 , EF7
Re:.NET 6 Released by cptskippy on Monday November 08, 2021 @12:51PM (#29151995)
I look forward to the announcements of Office Core and Windows Core.
Re:.NET 6 Released by recursive on Monday November 08, 2021 @02:03PM (#29152912)
Re:.NET 6 Released by tonyedgecombe on Tuesday November 09, 2021 @06:19AM (#29160202)
Re:.NET 6 Released by olyjohn on Monday November 08, 2021 @12:46PM (#29151945)
And a bunch of people probably had a bunch of meetings and sat around and thought "Yes, this is what we will name it!" FFS!
Re:.NET 6 Released by SigmundA on Monday November 08, 2021 @01:01PM (#29152136)
So no excuse for .Net 6 since there was no ASP MVC 6 right?
Re:.NET 6 Released by WorldMaker on Monday November 08, 2021 @02:50PM (#29153418)
There was. ASP.NET MVC 6 and EF6 were the last versions for .NET Framework 4.x. Hopefully with .NET 7 next year and all the versions aligned they will drop the "Core" name for just ASP.NET 7 and EF7.
Re:.NET 6 Released by orthoxerox on Monday November 08, 2021 @03:54PM (#29154121)
And someone will finally cross out that Jira (er, Azure DevOps) task on their list. "Harmonize branding and version numbers across all major .Net technology offerings", only took them ten years or so.
Re:.NET 6 Released by SigmundA on Monday November 08, 2021 @08:57PM (#29156794)
Asp Mvc 6 was never released, it basically became MVC Core 1.