# .net to the core

An tag was recently created. Tag was created some 8 months ago.

I can see a pattern here: do we really want a -core version of every single .net-related technology tag?

Any ideas? Reasons to keep them around?

• Can you explain this for someone who doesn't know the .net world? What is this -core thing? How does this differ from normal? Sep 26 '17 at 18:24
• @SimonForsberg it's a version of the .net framework that eats Java's lunch and runs on iOS and Linux ;-) Sep 26 '17 at 18:31

I'm going to defend all these tags, because after thinking about it, I think they do provide value.

First and foremost: / are not universal/compatible. Just because something works in does not mean it works in , and vice-versa. These tags are two completely separate frameworks, so I agree with creating a tag. Now, you can write code that works in both, but we're talking about a vs. situation: they're not guaranteed to be the same.

This means that, by definition, is not interchangeable for : a person can have expertise in one but not the other. This means applying to an question is wrong, the technology is quite different.

Second, if we create and burn the other two, we're encouraging tagging alongside , which is semantically incorrect. Microsoft calls ASP.NET on .NET Core just ASP.NET Core, we should too. The runtime is not compatible with , it's a different runtime, with different features, which means someone like me (who follows all the tags) will be even more confused than currently.

You should have no more than one .NET tag, no more than one ASP.NET tag, and no more than one Entity-Framework tag. Whichever of them applies best is what you should use.

Third, the and are so astoundingly different that it would be wildly inappropriate to use to define them.

Realistically, we should proceed as follows:

1. Edit questions to appropriately tag; if the question is on , then we should remove the tag if present, and add if not present, and adjust any related tags ( » , » , etc.).
2. Create the tag and replace the tag with it where appropriate.
3. When it comes to:

EF-Core is currently used in conjunction with uwp, which implies .net-core, and with asp.net-core, which also implies .net-core.

I'm not sure I see the problem there. We also use with and , should we not do that either? The purpose of tags is to group a question in with similar questions be it for following purposes, analytics, whatever — the tags should be self-contained. I follow all the .NET tags, including all 5 tags, but that may not be the case for everyone, some users have no experience with .NET Core, so an answer they provide can be very incorrect — this means they probably don't want to follow , and as such or , they're different ecosystems.

I really don't think anything else is required — this is just like the / or / situations, a complete restart of the framework.

Personally, instead of burninating these, let's burn , , and . Why the heck do we have a tag for every version of ASP.NET MVC?

# Tl;dr;

Create the new tag, leave the others present, edit questions with both '.NET' and '.NET-Core' to one or the other; edit questions with both 'Entity-Framework' and 'Entity-Framework-Core' with one or the other; edit questions with both 'ASP.NET' and 'ASP.NET-Core' with one or the other;

• Now that is an answer =) Sep 26 '17 at 19:27
• @Mat'sMug I try. ;) I actually upvoted your answer, then Mast mentioned this in chat and I thought harder about it and decided to write a new answer. :) Sep 26 '17 at 19:27
• I went ahead and removed .net and asp.net-mvc tags from asp.net-core-tagged questions. Sep 26 '17 at 19:37
• @Mat'sMug Awesome! I'm thinking we should create .net-core for the more general .net-core stuff (whatever it may be), this way the users could follow .net-core specifically, or asp.net-core, entity-framework-core, etc. I also think we should burn asp.net-mvc-2-asp.net-mvc-5, there's no reason to have all four of those tags along with asp.net-mvc. Sep 26 '17 at 19:41
• Just an FYI, Angular is Angular 2+. You're probably thinking of AngularJS. I have also requested angular to not be synonyms with angular.js, here.
– Peilonrayz Mod
Sep 27 '17 at 9:07
• @Peilonrayz Yeah, I was thinking what you mentioned (which goes to further prove the confusion) :). Sep 27 '17 at 12:25
• Why would anyone use .net-core? That would be like using a tag elf-binary. What's relevant for reviewing code is the library API, so surely .net-standard would be the useful tag for distinguishing code which is specific to .Net Framework from code which is compatible with .Net Core? Oct 2 '17 at 11:05
• @PeterTaylor The problem with that is how Microsoft chose to name and market it. And every now and then they refer to .net-standard as the .net-core stuff. The main .NET framework does not share compatibilities with .NET Core, in fact, so the .net-core tag would still be sensible there. (It's not like elf-binary because it's forward and reverse incompatible with the .NET Framework 1.0-4.6. Oct 2 '17 at 11:32
• I'm not sure what you mean by "The main .NET framework does not share compatibilities with .NET Core, in fact". For example, .Net Standard 1.6 is compatible with .Net Framework 4.6.1 and .Net Core 1.0. Is your point that .net-core might be useful for the one or two people who might want a review of code which uses namespaces under Microsoft.NETCore? Oct 2 '17 at 11:41
• @PeterTaylor No, my point is that when developing for .net-core things are very different. For example, in .NET core I seem to recall Entity Framework not having a .FirstOrDefault(), instead it has .SingleOrDefault. Oct 2 '17 at 11:44
• Ah, so your point is that .net-core would be appropriate for questions which also have entity-framework-core or asp.net-core? If so, I don't think that comes through very clearly. To what questions would point 2 of the answer apply when point 1 does not? Oct 2 '17 at 12:03
• @PeterTaylor Well .NET core/standard is intentionally cross-platform, among other things. I support the diverged tag for those reasons as well. But yet, I think using .net-core as a replacement for asp.net-core and entity-framework-core is a bad idea. I also appreciate you bringing the discussion up, I'll try to incorporate it in this answer. :) Oct 2 '17 at 12:13

I propose we create a tag for the overarching framework, and replace:

• Why? Sure, it saves a couple of tags in the long run, but how does this improve the situation based on the guidelines of when a tag is useful or not?
– Mast Mod
Sep 26 '17 at 17:58
• @Mast because [.net-core] is the semantically correct thing to do. asp.net-core is already misused alongside with asp.net-mvc, which is totally redundant (the old WebForms framework simply doesn't run on .net core). Or is that a bad reason? Sep 26 '17 at 18:00
• I don't know. But both tags, entity-framework-core and asp-net-core, seem to target a specific framework. So turning them into combination tags doesn't sound logical to me.
– Mast Mod
Sep 26 '17 at 18:39
• Not sure it's so clear-cut. EF-Core is currently used in conjunction with uwp, which implies .net-core, and with asp.net-core, which also implies .net-core. Sep 26 '17 at 18:44
• FWIW I'm hoping to see answers defending the existence of the tags here =) Sep 26 '17 at 19:00