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