SlideShare a Scribd company logo
.NET Core
Blimey.
@citizenmatt
This is Matt Ellis
He works for Microsoft, and is a developer on
the .NET Core team.

This is not me.
This is Matt Ellis
He works for JetBrains, and is an interested
amateur in .NET Core.

This is me.
What is .NET Core?
New .NET stack - CLR + BCL
Open Source
Cross platform
(eventually)
Standalone -

per-application installs
Factored for modularity -
“cloud optimised”
Everything ships as
NuGet packages,
including the runtime
Not finished…
.NET Core != .NET Framework
NOT a new version of the .NET Framework
• .NET Framework is going nowhere
• .NET Core is 5.0

.NET Framework is 4.6
• .NET Core is a fork of the .NET Framework

Code merged back to TFS
• .NET Core is (currently) a strict subset of
the .NET Framework
• Missing pieces in .NET Core

Windows: WinForms, WPF, COM, etc.

Platform: AppDomains, Remoting,
Reflection.Emit, etc.
• Different constraints:

Ship cycles, compatibility, system wide install
Why?
Multiple .NET stacks.
Incompatibilities
Portable Class Libraries

not scalable
Cross platform
Independent release cycles

Runtime, BCL, apps
Nano Server
Tidy up

15 years of evolution
History
Started with .NET Framework 2.0
How do I get it?
DNX - Dot Net Execution Environment
Maintained by asp.net team
Stable builds on nuget.org

Unstable on myget.org
.NET Core team maintain own build
dnvm install latest -r coreclr -u
Build from source!
How do I get it?
Architecture
Boxes and bits.
.NET Native
Alternative runtime
• AOT compilation
• Compiles all dependencies

Tree shaking
• Reflection? Via xml!
• Windows Store apps only
• Closed source
• On hold
• LLILC - LLVM based JIT/AOT (OSS)
CoreCLR The new runtime.
dotnet/coreclr
JIT compiler (RyuJIT), Garbage Collector, Platform Abstraction Layer - C++
mscorlib (tightly coupled to runtime) - C#
PAL - OS and platform differences. E.g. exception handling, threads, etc.

P/Invoke to OS, FEATURE #ifdefs
Book of the Runtime!
Mirror back to TFS
CoreFX The new BCL.
dotnet/corefx
Factored for modularity - each solution/assembly is a package
Some platform specific implementations, e.g. System.Console,
Process.Interop.Unix.cs, etc.
Might throw PlatformNotSupportedException

(e.g. Console.get_ForegroundColor )
Build is based on project.json, packages as references
Mirrored to TFS + .NET Framework
High compatibility bar for changes, transparent API review process
Console.get_ForeoundColor
PlatformNotSupportedException
AppModels
Or: How do you run a .exe on Unix?
How the application is hosted and run
Environmental services
What is an AppModel?
Bootstrap the CLR
Execute the
application
.NET Framework AppModels
.NET .exe
Originally a native stub that
loaded the CLR (x86 only!)
Special cased by OS loader
since Windows XP
Loads mscoree.dll, which
initialises CLR and executes
app
IIS/asp.net
Pre-IIS 7 - ISAPI filter
IIS 7 directly integrates CLR
Pipes requests/responses to
managed code
Lifetime management
Windows Phone /
Windows Store
Magic!
“Application host” loads CLR
Integrates with environment
events. E.g. suspend and
resume applications
Pre-compiled / .NET Native
corerun
DNX - .NET Execution
Environment (asp.net)
Windows 10 UWP
Applications
.NET Core AppModels
coreconsole /
osxcorebundlerun
DNX
Dot NET Execution Environment
asp.net 5
Targets .NET Core /

.NET Framework /
Mono
In memory compilation
via Roslyn
Changes project system

Reference packages, not assemblies
More…
• Packages for runtime and BCL
• BCL factored into many packages
• NuGet at heart of project system
(DNX)
• NuGet is the new Portable Class
Library
• Changing daily. Undocumented…
NuGet
Bleeding edge.
How does this affect us?
Let NuGet be NuGet
Don’t target a
framework
Add NuGet dependencies
for all BCL assemblies
Specify required versions of
BCL assemblies

Let NuGet sort it out
Effectively, there is no
longer a fixed framework
version to target
New Target Framework Monikers
Brand new
• dotnet - - .NET Core contracts. Use this!
• dnx451 , dnx46 - DNX targeting .NET Framework 4.5.1, 4.6
• dnxcore50 - DNX targeting .NET Core
• netcore50 - .NET Core 5.0 on Windows

(UWP apps. Follows netcore45 / win8 , netcore451 / win81)
dotnet
dnx451 dnx46
dnxcore50
netcore50
netcore45 win8 netcore451 win81
What About Compatibility?
All .NET Core packages are PCLs. Kinda.
PCL Refresher
1. A PCL is a class library that needs to run on multiple platforms and versions

(e.g. .NET Framework, Windows Phone, Xamarin)
2. It defines a common subset of APIs that are available on ALL of the required
versions of these platforms - a “Profile”
3. When targeting a Profile, the compiler references a set of Reference Assemblies

These describe the API with empty types, and forward types to correct assemblies
4. At runtime, the real assemblies on the target platform implement the APIs

Can also forward types to other assemblies
Portable Class Libraries
• PCL hides platform specific implementation details behind a common API
contract
• Profiles do not scale. The more versions and platforms, the more Profiles…
Why is this important?
Isn’t .NET Core a common, compatible, cross platform implementation?
• The BCL is the Base Class Library. It’s low level, and has to worry about
underlying platform differences, e.g. file IO
• The BCL needs to be abstracted away from the platform, to allow for
platform specific implementations. And refactoring!
Reference Assemblies
BCL packages include a Reference
Assembly in ref
• This is referenced at compile time and
provides the contract for the API, just like
PCL Reference Assemblies
• The runtime implementation

(e.g. libnetcore50 ) handles platform/host
specifics
ref
libdnxcore50
Why is this important?
This is how compatibility works
• Reference Assemblies allow consuming .NET Core packages from .NET
Framework and other PCL platforms
• Reference Assembly provides the contract, forwards any types
• Implementation assemblies provide potential platform specific
implementations
Compatibility (not a guarantee)
• .NET Framework 4.6 can consume .NET Core packages
• .NET Core 5.0 is a subset of .NET Framework 4.6

Should be able to consume .NET Framework 4.6 packages
• .NET Core can consume PCL libs that are compatible with System.Runtime.dll
(facade that forwards to e.g. mscorlib.dll)
• A new PCL Profile will include .NET Core (e.g. )portable-dotnet+…+…
Known Unknowns
• How are OS specific implementations going to be shipped?
• Do we need a Reference Assembly for each package?
• What are the compatibility fallbacks? E.g. net46 → net45 → net40.
• Why do we need platform/host TFMs (e.g. dnxcore50 ) when we can specify
dependencies?
dnxcore50
net46 net45 net40
What does this mean for Mono?
Lots. Or not much.
Mono == .NET Framework
Mono already
cross platform
Mono’s focus is
non-Windows
mobile (Xamarin)
.NET Core’s focus
is server and
Windows UWP
Mono can include
CoreCLR + CoreFX
code
Where does Roslyn fit in?
Orthogonal.
Runs on .NET
Framework + Mono
Planned for

.NET Core
Compiling

CoreCLR + CoreFX

currently requires Windows
C# compiler

written in C#
.NET Core
Cross platform
Open Source
NuGet everywhere
Bleeding edge
Icons: http://icons8.com/
The future of .NET
Links
CoreCLR - https://www.github.com/dotnet/coreclr
CoreFX - https://www.github.com/dotnet/corefx
DNX - https://github.com/aspnet/Home
@citizenmatt

More Related Content

What's hot (20)

PDF
.NET Core Blimey! Windows Platform User Group, Manchester
citizenmatt
 
PPT
Dot net
Mahfuz1061
 
PDF
Future of .NET - .NET on Non Windows Platforms
Aniruddha Chakrabarti
 
PDF
Dot Net Core
Amir Barylko
 
PDF
ASP.NET on zLinux: A New Workload
Novell
 
PDF
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
Novell
 
PPTX
What's New in .Net 4.5
Malam Team
 
PPTX
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
PDF
Calling The Notes C Api From Lotus Script
dominion
 
PPT
Dotnet framework
Nitu Pandey
 
PDF
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
ActiveState
 
PDF
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
GlobalLogic Ukraine
 
PPTX
Moving 1,000 Users & 100 Branches into Streams
Perforce
 
PPTX
Microsoft .Net Technology
vijayakumari kaliannan
 
PDF
OPNFV/Functest: lessons learned and best practices for VNF test automation
Valentin Boucher
 
PPT
LLVM
guest3e5046
 
PDF
The DNA of OPNFV
Frank Brockners
 
PPTX
intoduction to java
SIVASHANKARIRAJAN
 
PPTX
Symfony 2 under control
Max Romanovsky
 
PPTX
Web technology slideshare
GuruAbirami2
 
.NET Core Blimey! Windows Platform User Group, Manchester
citizenmatt
 
Dot net
Mahfuz1061
 
Future of .NET - .NET on Non Windows Platforms
Aniruddha Chakrabarti
 
Dot Net Core
Amir Barylko
 
ASP.NET on zLinux: A New Workload
Novell
 
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
Novell
 
What's New in .Net 4.5
Malam Team
 
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
Calling The Notes C Api From Lotus Script
dominion
 
Dotnet framework
Nitu Pandey
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
ActiveState
 
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
GlobalLogic Ukraine
 
Moving 1,000 Users & 100 Branches into Streams
Perforce
 
Microsoft .Net Technology
vijayakumari kaliannan
 
OPNFV/Functest: lessons learned and best practices for VNF test automation
Valentin Boucher
 
The DNA of OPNFV
Frank Brockners
 
intoduction to java
SIVASHANKARIRAJAN
 
Symfony 2 under control
Max Romanovsky
 
Web technology slideshare
GuruAbirami2
 

Similar to .Net Core Blimey! (16/07/2015) (20)

PDF
Raffaele Rialdi
CodeFest
 
PDF
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
PDF
.NET Core, ASP.NET Core Course, Session 1
Amin Mesbahi
 
PPTX
Modern .NET Ecosystem
Andrei Marukovich
 
PPTX
.Net Core
Bohdan Pashkovskyi
 
PDF
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
PPTX
Overview of the new .NET Core and .NET Platform Standard
Alex Thissen
 
PDF
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp
 
PPTX
Dive into .Net Core framework
ElifTech
 
PPTX
O futuro do .NET : O que eu preciso saber
Danilo Bordini
 
PPTX
Tamir Dresher - Demystifying the Core of .NET Core
Tamir Dresher
 
PPTX
Dotnet on linux
Ebram Tharwat
 
PPTX
Intro to.net core 20170111
Christian Horsdal
 
PPTX
Key Steps in Developing .NET Core Applications
Damir Dobric
 
PPTX
What should you know about Net Core?
Damir Dobric
 
PPTX
.Net Core 1.0 vs .NET Framework
Wyn B. Van Devanter
 
PPTX
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
Karel Zikmund
 
PPTX
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
Karel Zikmund
 
PPTX
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
PPTX
Porting Projects to .NET 5
Immo Landwerth
 
Raffaele Rialdi
CodeFest
 
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
.NET Core, ASP.NET Core Course, Session 1
Amin Mesbahi
 
Modern .NET Ecosystem
Andrei Marukovich
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
Overview of the new .NET Core and .NET Platform Standard
Alex Thissen
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp
 
Dive into .Net Core framework
ElifTech
 
O futuro do .NET : O que eu preciso saber
Danilo Bordini
 
Tamir Dresher - Demystifying the Core of .NET Core
Tamir Dresher
 
Dotnet on linux
Ebram Tharwat
 
Intro to.net core 20170111
Christian Horsdal
 
Key Steps in Developing .NET Core Applications
Damir Dobric
 
What should you know about Net Core?
Damir Dobric
 
.Net Core 1.0 vs .NET Framework
Wyn B. Van Devanter
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
Karel Zikmund
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
Karel Zikmund
 
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
Porting Projects to .NET 5
Immo Landwerth
 
Ad

Recently uploaded (20)

PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Ad

.Net Core Blimey! (16/07/2015)

  • 2. This is Matt Ellis He works for Microsoft, and is a developer on the .NET Core team. This is not me.
  • 3. This is Matt Ellis He works for JetBrains, and is an interested amateur in .NET Core. This is me.
  • 4. What is .NET Core? New .NET stack - CLR + BCL Open Source Cross platform (eventually) Standalone -
 per-application installs Factored for modularity - “cloud optimised” Everything ships as NuGet packages, including the runtime Not finished…
  • 5. .NET Core != .NET Framework NOT a new version of the .NET Framework • .NET Framework is going nowhere • .NET Core is 5.0
 .NET Framework is 4.6 • .NET Core is a fork of the .NET Framework
 Code merged back to TFS • .NET Core is (currently) a strict subset of the .NET Framework • Missing pieces in .NET Core
 Windows: WinForms, WPF, COM, etc.
 Platform: AppDomains, Remoting, Reflection.Emit, etc. • Different constraints:
 Ship cycles, compatibility, system wide install
  • 6. Why? Multiple .NET stacks. Incompatibilities Portable Class Libraries
 not scalable Cross platform Independent release cycles
 Runtime, BCL, apps Nano Server Tidy up
 15 years of evolution
  • 8. How do I get it? DNX - Dot Net Execution Environment Maintained by asp.net team Stable builds on nuget.org
 Unstable on myget.org .NET Core team maintain own build dnvm install latest -r coreclr -u
  • 9. Build from source! How do I get it?
  • 11. .NET Native Alternative runtime • AOT compilation • Compiles all dependencies
 Tree shaking • Reflection? Via xml! • Windows Store apps only • Closed source • On hold • LLILC - LLVM based JIT/AOT (OSS)
  • 12. CoreCLR The new runtime.
  • 13. dotnet/coreclr JIT compiler (RyuJIT), Garbage Collector, Platform Abstraction Layer - C++ mscorlib (tightly coupled to runtime) - C# PAL - OS and platform differences. E.g. exception handling, threads, etc.
 P/Invoke to OS, FEATURE #ifdefs Book of the Runtime! Mirror back to TFS
  • 15. dotnet/corefx Factored for modularity - each solution/assembly is a package Some platform specific implementations, e.g. System.Console, Process.Interop.Unix.cs, etc. Might throw PlatformNotSupportedException
 (e.g. Console.get_ForegroundColor ) Build is based on project.json, packages as references Mirrored to TFS + .NET Framework High compatibility bar for changes, transparent API review process Console.get_ForeoundColor PlatformNotSupportedException
  • 16. AppModels Or: How do you run a .exe on Unix?
  • 17. How the application is hosted and run Environmental services What is an AppModel? Bootstrap the CLR Execute the application
  • 18. .NET Framework AppModels .NET .exe Originally a native stub that loaded the CLR (x86 only!) Special cased by OS loader since Windows XP Loads mscoree.dll, which initialises CLR and executes app IIS/asp.net Pre-IIS 7 - ISAPI filter IIS 7 directly integrates CLR Pipes requests/responses to managed code Lifetime management Windows Phone / Windows Store Magic! “Application host” loads CLR Integrates with environment events. E.g. suspend and resume applications Pre-compiled / .NET Native
  • 19. corerun DNX - .NET Execution Environment (asp.net) Windows 10 UWP Applications .NET Core AppModels coreconsole / osxcorebundlerun
  • 20. DNX Dot NET Execution Environment asp.net 5 Targets .NET Core /
 .NET Framework / Mono In memory compilation via Roslyn Changes project system
 Reference packages, not assemblies More…
  • 21. • Packages for runtime and BCL • BCL factored into many packages • NuGet at heart of project system (DNX) • NuGet is the new Portable Class Library • Changing daily. Undocumented… NuGet Bleeding edge.
  • 22. How does this affect us? Let NuGet be NuGet Don’t target a framework Add NuGet dependencies for all BCL assemblies Specify required versions of BCL assemblies
 Let NuGet sort it out Effectively, there is no longer a fixed framework version to target
  • 23. New Target Framework Monikers Brand new • dotnet - - .NET Core contracts. Use this! • dnx451 , dnx46 - DNX targeting .NET Framework 4.5.1, 4.6 • dnxcore50 - DNX targeting .NET Core • netcore50 - .NET Core 5.0 on Windows
 (UWP apps. Follows netcore45 / win8 , netcore451 / win81) dotnet dnx451 dnx46 dnxcore50 netcore50 netcore45 win8 netcore451 win81
  • 24. What About Compatibility? All .NET Core packages are PCLs. Kinda.
  • 25. PCL Refresher 1. A PCL is a class library that needs to run on multiple platforms and versions
 (e.g. .NET Framework, Windows Phone, Xamarin) 2. It defines a common subset of APIs that are available on ALL of the required versions of these platforms - a “Profile” 3. When targeting a Profile, the compiler references a set of Reference Assemblies
 These describe the API with empty types, and forward types to correct assemblies 4. At runtime, the real assemblies on the target platform implement the APIs
 Can also forward types to other assemblies
  • 26. Portable Class Libraries • PCL hides platform specific implementation details behind a common API contract • Profiles do not scale. The more versions and platforms, the more Profiles…
  • 27. Why is this important? Isn’t .NET Core a common, compatible, cross platform implementation? • The BCL is the Base Class Library. It’s low level, and has to worry about underlying platform differences, e.g. file IO • The BCL needs to be abstracted away from the platform, to allow for platform specific implementations. And refactoring!
  • 28. Reference Assemblies BCL packages include a Reference Assembly in ref • This is referenced at compile time and provides the contract for the API, just like PCL Reference Assemblies • The runtime implementation
 (e.g. libnetcore50 ) handles platform/host specifics ref libdnxcore50
  • 29. Why is this important? This is how compatibility works • Reference Assemblies allow consuming .NET Core packages from .NET Framework and other PCL platforms • Reference Assembly provides the contract, forwards any types • Implementation assemblies provide potential platform specific implementations
  • 30. Compatibility (not a guarantee) • .NET Framework 4.6 can consume .NET Core packages • .NET Core 5.0 is a subset of .NET Framework 4.6
 Should be able to consume .NET Framework 4.6 packages • .NET Core can consume PCL libs that are compatible with System.Runtime.dll (facade that forwards to e.g. mscorlib.dll) • A new PCL Profile will include .NET Core (e.g. )portable-dotnet+…+…
  • 31. Known Unknowns • How are OS specific implementations going to be shipped? • Do we need a Reference Assembly for each package? • What are the compatibility fallbacks? E.g. net46 → net45 → net40. • Why do we need platform/host TFMs (e.g. dnxcore50 ) when we can specify dependencies? dnxcore50 net46 net45 net40
  • 32. What does this mean for Mono? Lots. Or not much. Mono == .NET Framework Mono already cross platform Mono’s focus is non-Windows mobile (Xamarin) .NET Core’s focus is server and Windows UWP Mono can include CoreCLR + CoreFX code
  • 33. Where does Roslyn fit in? Orthogonal. Runs on .NET Framework + Mono Planned for
 .NET Core Compiling
 CoreCLR + CoreFX
 currently requires Windows C# compiler
 written in C#
  • 34. .NET Core Cross platform Open Source NuGet everywhere Bleeding edge Icons: http://icons8.com/ The future of .NET
  • 35. Links CoreCLR - https://www.github.com/dotnet/coreclr CoreFX - https://www.github.com/dotnet/corefx DNX - https://github.com/aspnet/Home @citizenmatt