3 ms·
.NET Core is a specific .NET platform while .NET Standard is a specification that many .NET platforms, including .NET Core, implement. In other words, .NET Sta
by terrajobst 10y ago
.NET Core is a specific .NET platform while .NET Standard is a specification that many .NET platforms, including .NET Core, implement.
In other words, .NET Standard is POSIX for .NET.
- Someone 10y agoSmall correction: .NET Core _will_ implement it. It has to grow quite a bit to get there. At least, that's my reading, but they manage to be fairly confusing by mixing present tense and future tense with two different names: "- .NET Standard is a set of APIs that all .NET platforms have to implement. This unifies the .NET platforms and prevents future fragmentation. - .NET Standard 2.0 will be implemented by .NET Framework, .NET Core, and Xamarin. For .NET Core, this will add many of the existing APIs that have been requested. - .NET Standard 2.0 includes a compatibility shim for .NET Framework binaries, significantly increasing the set of libraries that you can reference from your .NET Standard libraries. - .NET Standard will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries." So, do we have ".NET Standard" now and ".NET Standard 2.0" in the future? If so, why don't they say ".NET Standard 2.0 will include a compatibility shim for .NET Framework binaries"? On the other hand https://github.com/dotnet/standard/blob/master/netstandard/pkg/NETStandard.pkgproj https://github.com/dotnet/standard/blob/master/netstandard/p... seems to indicate the two are synonyms, and version 2.0 is the first version of this framework.
- tracker1 10y agoThey're considering .Net Framework 4.6.x to be the guideline for Standard 1.x, And that when Core 1.0 hits, it will support .Net Standard 2.0. My guess is jumping to 2.0 for future implementation base is to avoid conflicts with .Net Core 1.0 (though may exacerbate the issue)
- terrajobst 10y ago> Small correction: .NET Core _will_ implement it. It has to grow quite a bit to get there. .NET Core _already_ implements .NET Standard 1.x. It _will_ implement .NET Standard 2.0.
- dragonwriter 10y ago> So, do we have ".NET Standard" now and ".NET Standard 2.0" in the future? There are three key versions (and several others; they have 1.0 through 1.6 and 2.0) of .NET Standard referenced; the key versions are 1.5 (supported by .NET Framework 4.6.2 and later and .NET Core 1.0 and later), 1.6 (supported by .NET Framework vNext and later and .NET Core 1.0 and later), and 2.0 (supported by .NET Framework 4.6.1 and later and .NET Core vNext and later).
- Someone 10y agoSo, in a blog post titled "Introducing .NET Standard", it turns out .NET Standard already has 8 different versions? Also, rereading the article, I notice "When we shipped .NET Core 1.0, we also introduced .NET Standard." This text really could do with a good editor.
- dragonwriter 10y ago> it turns out .NET Standard already has 8 different versions? I think the versions prior to v1.6 were retrospectively defined based on the common capabilities of pre-existing platforms; v1.6 was what .NET Core 1.0 supported and .NET Framework vNext will support (2.0 is what .NET Framework 4.6.1 supports and what .NET Core vNext -- and vNext of MS's other platforms -- will support, and beyond 2.0 there will be more synchronous development across different platforms.)
- terrajobst 10y agoThat's exactly what happened, yes.
- terrajobst 10y agoThat's actually a fair point. I probably should have used a different wording.