Intro

• Runtimes • Frameworks .NET • Tooling Core • • Deployment • Understanding .NET .NET Standard Standard • Versioning

• Summary • Questions and Wrap up answers ASP.NET .NET Core

Innovation Openness Any app, any platform

.NET Framework .NET Core Xamarin

Runtime Components Compilers NuGet packages Next gen JIT (RyuJIT) Languages innovation .NET Core 1.0 Libraries SIMD .NET Platform .NET Framework 4.6 Libraries Runtimes ASP.NET Core Universal Windows Apps Any other Model • Cross-platform App Model app model implementations of CoreCLR • CoreRT for AOT scenarios

CoreFX libraries CoreFX: Unified Base • Standards based BCL Class Library • Platform and OS abstractions • Delivered in NuGet packages • Shared Framework Runtime Adaption Layer

.NET Native Other Runtime SDK Core CLR • Command-line tools • Side by side installation • C# and F# • Driver dotnet.exe

.NET Core build tooling

project.json

xproj Migrate

MSBuild tooling

.csproj . Linux • Red Hat Enterprise Linux 7.2 • CentOS 7.1+ • Debian 8.2+ • Fedora 23 frameworks TFMs • Linux Mint 17.1, 18 • OpenSUSE 13.2, 42.1 • Oracle Linux 7.1 • Ubuntu 14.04 & 16.04 Mac OS X 10.11, 10.12

Windows • Windows 7+ / Server 2012 R2+ • Windows Nano Server TP5 • Windows Server Core • Windows Server 2016 #imports imports

"osx.10.11-x64": { "#import": [ "osx.10.11", "osx.10.10-x64" ] } • •

• •

• • • • 0.1.0-*

.

1.0.1 Host + CoreCLR

Native Source files .NET assemblies code RyuJIT (C#, F#) IL code (x64, x86, LLILC* ARM) CoreFX Visual Studio or MSBuild

* = Experimental Native code .NET Core app (x64, x86, assemblies ARM) Source files Roslyn (IL code) RyuJIT (C#, F#) LLILC* IL to C++* CoreRT CoreFX Visual Studio or MSBuild

* = Experimental

2.0 1.6 1.5 1.4 1.3 1.2 1.1

1.0

.NET Framework .NET Core Xamarin

Runtime Components Compilers NuGet packages Next gen JIT (RyuJIT) Languages innovation .NET Core 1.0 Libraries SIMD .NET Compiler Platform .NET Framework 4.6 Libraries XML XLinq • XML Document • XPath • Schema • XSL Version # Growth % SERIALIZATION BinaryFormatter • Data Contract • XML

1.x 13,501 +1% DATA Abstractions • Provider Model • DataSet

2.0 32,638 +142% NETWORKING Sockets • Http • Mail • WebSockets

IO Files • Compression • MMF

THREADING Threads • Thread Pool • Tasks

CORE Primitives • Collections • Reflection • Interop • Linq .NET FRAMEWORK .NET CORE XAMARIN

My Standard Library 1.x2.x Legend Is able to reference

Application Type

Via Portability .NET Standard based .NET Framework Portable Class Library library targeted library Via Compatibility Shim 1. 2.

3. 4. 5. 6.

.NET Core .NET Standard Future

• Allows your • Incremental • .NET Standard 2.0 applications to specification of provides a richer span multiple .NET API surface API surface and operating systems • Will your better migration • Lightweight class library story package-based portable to • Tooling and IDEs and multiple .NET will catch up cloud/container platforms optimized Resources http://dot.net http://github.com/dotnet/

http://visualstudio.com https://docs.microsoft.com/en-us/ dotnet/articles/core/ Questions and Answers