The .NET Core 2 Wave
developer.telerik.com
developer.telerik.com
It pretty much resembles the way .NET Framework also changed drastically from 1.0 to 2.0 which finally became the productive and trusted framework of today.
It's also really nice to be able to see all of this happening out in the open with the actual developers and leaders at Microsoft. They don't always make the right/best decision but at least they explain what they did and they're definitely taking feedback. It's very refreshing from the old .NET days where everything was opaque until the new release notes came out.
So, these boilerplate factories are not strictly necessary but they make the API user's code simpler, more comprehensible, isolate responsibilities, etc.
https://github.com/aspnet/home/wiki/roadmap
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-...
Disclaimer: I've not been paying as close attention as I did last year when writing my book on .NET Core (https://unop.uk/book/). So I may just have missed something.
Edit:
I've found some more info: https://github.com/dotnet/core/blob/master/roadmap.md#ship-d...
Milestone Release Date
.NET Core 2.0 Spring 2017
.NET Standard 2.0 Spring 2017
This is weird as I had previously heard this would be v1.2. Perhaps it is but it's now a major bump rather than a minor one. Either a breaking change or to tie in with .NET Standard?I guess this means it won't stay aligned with the ASP.NET Core versions now?
I spend time writing a helpful comment and the thread gets flagged. :(
Maybe they just want to sync with .NET core tools which have a breaking change even if they are currently RC - just moving everything to 2.0 would signal that everything is in sync now - hopefully.
They need a major version re-release, 1.0 was premature for the way it was done, hoping they get things right with 2.0
As an aside, I find it helpful to think of .net standard as an interface (API definition, no code), and .net core as a class (implements interface, provides implementation, possibly additional methods).
public class NetCore2_0 : INetStandard2_0 {}
public class NetCore1_0 : INetStandard1_6 {}
[0] - https://github.com/dotnet/core/blob/master/roadmap.mdNo doubt they my become unaligned again in the future; but I think its about starting from a clean version number alignment.
e.g. .NET Standard 2.0 was originally .NET Standard 1.7 which would have gone with .NET Core 1.2 with tooling (CLI) 1.0
This is a good reference: https://docs.microsoft.com/en-us/dotnet/articles/standard/li...
Just replace .NET Core vNext with 2.0 and you're looking at the latest mapping of .NET Standard implementations.
[1]: www.microsoft.com/net/core
The version labeled 1.0.3 TLS is dotnet-dev-osx-x64.1.0.0-preview2-003156.pkg (1.0.0? preview?)
The version labeled 1.1 is dotnet-dev-osx-x64.1.0.0-preview2-1-003177.pkg (again: 1.0.0 preview?)
The linux packages have similar pattern.
So, 1.0.0-previewX < 1.0.0.
Semantically this should be read as "1.0.0-previewX is preview X of version 1.0.0"
This allows the team the ability to release new tooling versions (bugfix to the donet command for example), without having to print a new framework version. Same for updating the framework vs the tooling.
On the one hand, it's annoying to keep track of so many versions. On the other hand, it's also annoying to be forced to run a framework update when the only thing that's changed is a command line tool, which may or may not be important to a specific organizations development pipeline.
I don't think it's ready for prime time yet. Gonna give it at least another year.
I've had nightmares with their stuff. Their standard response to any problems you might have with their controls is "wait for the next version"
That was pretty funny.
It's just the kind of thing that we all* walk around armchair quarterbacking the fact that Microsoft would never do that in a million years...
Seriously.. how cool would that be?
*of course I mean "all" colloquially - obvioulsy there are some people who don't say that.