Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dotnet Core vs DotNetStandard

Tags:

.net

.net-core

I already read that dotnetstandard is a subset of functionality.

That much I understood.

dotnet framework full > dotnetstandard > dotnetcore

But how is it possible that e.g. Google API sheet supports dotnetcore with dotnetstandard v1.3?

What do I have to install to allow applications using dotnetstandard 1.3 to run under dotnetcore?

like image 284
xzeebee Avatar asked Feb 27 '17 19:02

xzeebee


People also ask

Is .NET standard the same as .NET Core?

NET Core is an implementation of the . NET Standard that's optimized for building console applications, Web apps and cloud services using ASP.NET Core. Its SDK comes with a powerful tooling that in addition to Visual Studio development supports a full command line-based development workflow.

Is .NET standard compatible with .NET Core?

NET Standard is compatible with libraries that target that . NET Standard. One of those compatible platforms is . NET Core.

What is the difference between .NET and .NET standard?

NET Standard is a specification (not an implementation of . NET) that defines the set of APIs that all . NET implementations must provide. It addresses the code sharing problem for .

What is .NET standard used for?

Net Standard is a specification which dictates what the Base Class Libraries of different . Net platforms should implement to unify the Base Class Libraries of different . Net Platforms.


1 Answers

Dotnet Core vs DotNetStandard

The two are not "vs" each other. Rather, .NET Core "contains" an implementation of the .NET Standard Library (as well as extra stuff that is not in .NET Standard). Here it is as a Venn diagram.

enter image description here

...how is it possible that e.g. google API sheet support dotnetcore with dotnetstandard v1.3?

It is possible because .NET Core 1.0 supports version 1.3 of the .NET Standard Library.

In the following table, netcoreapp is .NET Core, net is the .NET Framework, and netstandard is the .NET Standard Library. The .NET Standard Library, as you wrote, is a subset of functionality.

Important: Each platform advertises the highest version of the .NET Standard Library that it supports.

netstandard     1.0     1.1     1.2     1.3     1.4     1.5     1.6     2.0
netcoreapp      →       →       →       →       →       →       1.0     2.0
net             →       4.5     4.5.1   4.6     4.6.1   4.6.2   vNext   4.6.1

Here are some examples to check your understanding.

  • .NET Core 1.0 supports up to .NET Standard Library 1.6
  • .NET Framework 4.6.1 supports up to .NET Standard Library 1.4

.NET Standarded Library 1.3 is supported by...

  • .NET Core 1.0 and 2.0
  • .NET Framework 4.6, 4.6.1, 4.6.2, and vNext

...what do i have to install to allow applications using dotnetstandard 1.3 run under dotnetcore?

You have to install .NET Core.

like image 141
Shaun Luttin Avatar answered Oct 01 '22 11:10

Shaun Luttin