.NET Standard is a standard that the 3 different implementations of .NET try implement (.NET, .NET Core and Mono). Any implementation of .NET Standard can add in extra functionality, hence superset, it's a bit silly.
.NETFX = .net framework.
their naming is a mess.
It's actually pretty smart if it's implemented correctly (Which it's not, there is another article floating around the moment which says that .net standard isn't working correctly because people pick and choose what to implement anyway).
So the .net standard is essentially like "interfaces" in code. It says, if you want to say you are .net standard 1.6 you must implement these things.
When you go to write a library and you want to release it to the masses. You would normally have to go "OK, do I want to write this for .net core or .net framework?". With .net standard you can write it in a way that you know that a call to some method will always be there no matter what platform is actually running the library.
A bit more info here : http://dotnetcoretutorials.com/2017/01/13/net-standard-vs-ne...
* .NET Core - a new spin on .NET Framework for the cloud and such, not always compatible with .NET Framework but sometimes compatible. * .NET Framework (or "Full") - the .NET Framework we've known and loved, what was a few years ago merely known as .NET * .NET Standard - the bridge between the two, made after .NET Core so that they could break backwards compatibility to some extent, or they realized "whoops we gotta make a compatibility layer" or some other reason...
I'm not even sure what .NETfx is, nor what ASP .NET vNext was, and if it was just an alpha, all I know is in Sublime Text I don't have sane / easy options. On Visual Studio Code I can just install the "C#" plugin on the other hand and get going. It's not as good as Visual Studio's IntelliSense though.
One nice thing about .NET Core is the ability to develop from any platform and to deploy to any platform. .NET Framework needed Mono for that, I wonder how much of .NET Core will become Mono Core or something similar (if at all?).
.NET standard something your libraries can conform to, which allows it to run on the old .NET framework and the new core frameworks.
Honestly having used python, node and java I don't think its that difficult compared.
It's just .net foreign to most people, so they don't know the terminology.
.NET core is the new guy in town that is cross platform. ASP.NET Core is the web framework built on top of .NET core.
.NET Core is called a superset of .NET Standard because it implements everything and more.
Now, keep in mind that I actually thought (and still think?) that .NET and C# make for a very productive development environment. I didn't leave due to antipathy; no axe to grind here.
But...
"netcoreapp2.0"? "netstandard1"? "net4"? Huh? What?
From Scott Hanselman's reply:
.NET Core? .NET Full? .NET Standard? .NETfx?And .NET Core is a superset of .NET Standard? How does that make sense? "Core" sounds like a stripped-down version of... something? But, apparently it's a superset. Because nothing makes sense any more.
My only point here is: at first glance, this is an utterly bewildering set of choices. I'm sure there's a pretty simple relationship between all these things, but the .NET people probably aren't doing themselves any favors this these naming choices and (what appears to be) fragmentation between .NET development targets.