by Rob Richardson
 
					Rob Richardson is a software craftsman building web properties in ASP.NET and Node, Angular and React. He's a frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on https://robrich.org/presentations and follow him on twitter at @rob_rich.
All these features are reversed
 
					Source: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
|  |  |  | 
Source: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
 
					Source: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
Each runtime is a fork
I must pre-select the runtimes I want
New runtime? I must recompile
 
					Source: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
 
				 
				 
				 
				 
				| .NET Standard | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 2.0 | 
|---|---|---|---|---|---|---|---|---|
| .NET Core | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 | 
| .NET Framework | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.1 | 4.6.1 | 4.6.1 | 
| Mono | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 5.4 | 
| Xamarin.iOS | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.14 | 
| Xamarin.Mac | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 | 3.8 | 
| Xamarin.Android | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 8.0 | 
| Universal Windows Platform | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0.16299 | 10.0.16299 | 10.0.16299 | 
| Windows | 8.0 | 8.0 | 8.1 | |||||
| Windows Phone | 8.1 | 8.1 | 8.1 | |||||
| Windows Phone Silverlight | 8.0 | 
						Sources: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
						https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
						https://github.com/dotnet/standard/blob/master/docs/versions.md
						APIs: https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md
					
An evolution of PCL
Identifies a common feature set
for this version of .NET
in all environments
Detail: http://andrewlock.net/understanding-net-core-netstandard-and-asp-net-core/
Analogy (pseudocode): https://gist.github.com/davidfowl/8939f305567e1755412d6dc0b8baf1b7
| .NET Standard | .NET Core | .NET Framework | 
|---|---|---|
| Abstract API | Implementation for Windows, Mac, and Linux | Implementation for Windows | 
|  |  |  | 
All the features you know and love
Inherited from .NET Core:
... or bring your own data story through NuGet
.NET Core 2.0 depends on .NET Framework 4.x
.NET 4.7 depends on .NET Core 2.0
 
					source: youtube.com/watch?v=vg6nR7hS2lI
Dependency checker: icanhasdot.net
Portability Analyzer: https://github.com/Microsoft/dotnet-apiport/blob/master/docs/VSExtension/README.md
The goal was a very small .net framework, so redundant overloads were removed
Class / Namespace to NuGet Package search: packagesearch.azurewebsites.net