SlideShare a Scribd company logo
.NET Core
How to migrate and write new code for .NET Core
Bertrand Le Roy
▪ Senior Program Manager on .NET Core
▪ One of the founders of Orchard
▪ http://weblogs.asp.net/bleroy
▪ https://blogs.msdn.microsoft.com/dotnet/tag/week-in-net/
▪ https://www.youtube.com/channel/UCvtT19MZW8dq5Wwfu6B0oxw
Objectives
▪ What’s .NET Core and when to use it (or not)
▪ How to create a new library, ASP.NET, or console application
▪ How to port existing code
Innovation Any platformOpenness
.NET Core
ASP.NET 5
.NET Core ≠ .NET Framework
.NET Framework 4.6
▪ .NET implementation for any scenario on Windows with comprehensive library
support
.NET Core
▪ Modular and smaller implementation of .NET
▪ Cross-platform
▪ App-level isolation
▪ Built in the open
▪ Optimized for specific workloads
▪ Built for the next ten years of software development
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
Languages innovation
.NET Compiler Platform
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core
What’s common, and what’s not?
What’s not supported?
▪ WPF
▪ Winforms
▪ WebForms
▪ Binary serialization…
▪ Anything Windows-specific: registry, ACLs, perf counters, etc.
Significant change: Reflection
foo.GetType() → foo.GetType().GetTypeInfo()
API Portability resources
▪ Portability analyzer VS extension
▪ https://github.com/Microsoft/dotnet-apiport/releases
▪ http://dotnetstatus.azurewebsites.net/
▪ https://packagesearch.azurewebsites.net/
▪ http://forums.dotnetfoundation.org/
▪ https://gitter.im/dotnet/corefx
▪ https://dotnet.github.io/porting *
Managing expectations
▪ This is very much a new platform with a known flavor
▪ There is a cost to migration
▪ There are things to learn
▪ Not all projects can or should migrate
Should I migrate my project?
Cannot:
▪ WPF, WinForms, unless UWP
▪ ASP.NET WebForms
Should (absolutely):
▪ General purpose libraries
Should (maybe):
▪ ASP.NET MVC
▪ Micro-services
▪ Console apps
▪ Rewrite
▪ Talent expertise on Linux
DEMO
Porting FluentPath
Dependencies
▪ Most fundamental libraries first: test frameworks, tooling, data access, JSON,
logging, IoC, etc.
▪ Go to the source, ask the author
▪ Offer to help, or fork
▪ Switch to another Core-compatible library
▪ DIY
Testing
▪ xUnit was first, now NUnit, MsTest
▪ Secondary test libraries (mocking, functional testing, etc.) in progress
Debugging
▪ On Windows: Visual Studio
▪ Everywhere: VS Code
Tooling
Your choice of tool, on your choice platform
▪ Visual Studio on Windows
▪ Visual Studio Code on Mac, Linux, or Windows
▪ vi or emacs with OmniSharp
▪ etc.
.NET CLI replaces DNX, DNVM, DNU
▪ dotnet new
▪ dotnet restore
▪ dotnet run
▪ dotnet build
▪ dotnet build –native
▪ dotnet dosomethingcool
DEMO
Creating a new application
Q&A

More Related Content

What's hot

Angular Introduction By Surekha Gadkari
Angular Introduction By Surekha GadkariAngular Introduction By Surekha Gadkari
Angular Introduction By Surekha Gadkari
Surekha Gadkari
 
Introduction to VB.net
Introduction to VB.netIntroduction to VB.net
Introduction to VB.net
Yousaf Sahota
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
Brad Genereaux
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Angular 8
Angular 8 Angular 8
Angular 8
Sunil OS
 
Entity Framework Core
Entity Framework CoreEntity Framework Core
Entity Framework Core
Kiran Shahi
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
Sandeep Chawla
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
What is dotnet (.NET) ?
What is dotnet (.NET) ?What is dotnet (.NET) ?
What is dotnet (.NET) ?
Talha Shahzad
 
Model view controller (mvc)
Model view controller (mvc)Model view controller (mvc)
Model view controller (mvc)
M Ahsan Khan
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
Shravan A
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
Lalit Kale
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
Julie Iskander
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
Vishwa Mohan
 

What's hot (20)

Angular Introduction By Surekha Gadkari
Angular Introduction By Surekha GadkariAngular Introduction By Surekha Gadkari
Angular Introduction By Surekha Gadkari
 
Introduction to VB.net
Introduction to VB.netIntroduction to VB.net
Introduction to VB.net
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
 
MVC - Introduction
MVC - IntroductionMVC - Introduction
MVC - Introduction
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Angular 8
Angular 8 Angular 8
Angular 8
 
Entity Framework Core
Entity Framework CoreEntity Framework Core
Entity Framework Core
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
What is dotnet (.NET) ?
What is dotnet (.NET) ?What is dotnet (.NET) ?
What is dotnet (.NET) ?
 
C# basics
 C# basics C# basics
C# basics
 
Model view controller (mvc)
Model view controller (mvc)Model view controller (mvc)
Model view controller (mvc)
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 

Viewers also liked

ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
joescars
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
Marco Parenzan
 
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2
Shahed Chowdhuri
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
Yuta Matsumura
 
Apresentação do Projeto de Bloco Arquitetura .NET
Apresentação do Projeto de Bloco Arquitetura .NETApresentação do Projeto de Bloco Arquitetura .NET
Apresentação do Projeto de Bloco Arquitetura .NET
Pedro Modrach
 
Unitat 1. El nostre planeta. 1rESO
Unitat 1. El nostre planeta. 1rESOUnitat 1. El nostre planeta. 1rESO
Unitat 1. El nostre planeta. 1rESOcsantan2
 
.Net standard 2.0
.Net standard 2.0.Net standard 2.0
.Net standard 2.0
Scott Golightly
 
.Net Core
.Net Core.Net Core
.Net Core
.Net Core.Net Core
ASP.NET Core
ASP.NET CoreASP.NET Core
Learning .NET Attributes
Learning .NET AttributesLearning .NET Attributes
Learning .NET Attributes
Pooja Gaikwad
 
.NET Core
.NET Core.NET Core
.NET Core
Mariano Sánchez
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-ban
György Balássy
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságok
György Balássy
 
Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)
György Balássy
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésGyörgy Balássy
 

Viewers also liked (20)

ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
 
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
Apresentação do Projeto de Bloco Arquitetura .NET
Apresentação do Projeto de Bloco Arquitetura .NETApresentação do Projeto de Bloco Arquitetura .NET
Apresentação do Projeto de Bloco Arquitetura .NET
 
Unitat 1. El nostre planeta. 1rESO
Unitat 1. El nostre planeta. 1rESOUnitat 1. El nostre planeta. 1rESO
Unitat 1. El nostre planeta. 1rESO
 
.Net standard 2.0
.Net standard 2.0.Net standard 2.0
.Net standard 2.0
 
.Net Core
.Net Core.Net Core
.Net Core
 
.Net Core
.Net Core.Net Core
.Net Core
 
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
 
Learning .NET Attributes
Learning .NET AttributesLearning .NET Attributes
Learning .NET Attributes
 
.NET Core
.NET Core.NET Core
.NET Core
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-ban
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságok
 
Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
 

Similar to .Net Core

Dotnet on linux
Dotnet on linuxDotnet on linux
Dotnet on linux
Ebram Tharwat
 
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projectsOSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Jeongkyu Shin
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
Alex Thissen
 
.NET - The Current Spectrum
.NET -  The Current Spectrum.NET -  The Current Spectrum
.NET - The Current Spectrum
Rasik Bihari Tiwari
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
Immo Landwerth
 
Business Apps with the Universal Windows Platform
Business Apps with the Universal Windows PlatformBusiness Apps with the Universal Windows Platform
Business Apps with the Universal Windows Platform
Christian Nagel
 
Getting Started with ASP.NET vNext
Getting Started with ASP.NET vNextGetting Started with ASP.NET vNext
Getting Started with ASP.NET vNext
Lohith Goudagere Nagaraj
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
Tadeusz Balcer
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
Amazon Web Services
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
aminmesbahi
 
Buildingwebapplicationswith.net
Buildingwebapplicationswith.netBuildingwebapplicationswith.net
Buildingwebapplicationswith.netKolagani Veera
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
Amazon Web Services
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin
 
Deploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM TemplatesDeploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM Templates
Pratik Khasnabis
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Jeffrey T. Fritz
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
Amazon Web Services Korea
 
PaaS options for .NET
PaaS options for .NETPaaS options for .NET
PaaS options for .NET
Slawomir Dorzak
 

Similar to .Net Core (20)

Dotnet on linux
Dotnet on linuxDotnet on linux
Dotnet on linux
 
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projectsOSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
 
.NET - The Current Spectrum
.NET -  The Current Spectrum.NET -  The Current Spectrum
.NET - The Current Spectrum
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
 
Business Apps with the Universal Windows Platform
Business Apps with the Universal Windows PlatformBusiness Apps with the Universal Windows Platform
Business Apps with the Universal Windows Platform
 
Getting Started with ASP.NET vNext
Getting Started with ASP.NET vNextGetting Started with ASP.NET vNext
Getting Started with ASP.NET vNext
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
 
Buildingwebapplicationswith.net
Buildingwebapplicationswith.netBuildingwebapplicationswith.net
Buildingwebapplicationswith.net
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
Deploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM TemplatesDeploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM Templates
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
 
PaaS options for .NET
PaaS options for .NETPaaS options for .NET
PaaS options for .NET
 

More from Bertrand Le Roy

Next .NET and C#
Next .NET and C#Next .NET and C#
Next .NET and C#
Bertrand Le Roy
 
Orchard 2... and why you should care
Orchard 2... and why you should careOrchard 2... and why you should care
Orchard 2... and why you should care
Bertrand Le Roy
 
C# Today and Tomorrow
C# Today and TomorrowC# Today and Tomorrow
C# Today and Tomorrow
Bertrand Le Roy
 
.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#
Bertrand Le Roy
 
Orchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the futureOrchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the future
Bertrand Le Roy
 
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013Bertrand Le Roy
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Bertrand Le Roy
 
Orchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 KeynoteOrchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 KeynoteBertrand Le Roy
 

More from Bertrand Le Roy (8)

Next .NET and C#
Next .NET and C#Next .NET and C#
Next .NET and C#
 
Orchard 2... and why you should care
Orchard 2... and why you should careOrchard 2... and why you should care
Orchard 2... and why you should care
 
C# Today and Tomorrow
C# Today and TomorrowC# Today and Tomorrow
C# Today and Tomorrow
 
.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#
 
Orchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the futureOrchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the future
 
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
Best kept Orchard recipes - Orchard Harvest Amsterdam 2013
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013
 
Orchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 KeynoteOrchard Harvest Amsterdam 2013 Keynote
Orchard Harvest Amsterdam 2013 Keynote
 

Recently uploaded

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 

Recently uploaded (20)

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 

.Net Core

  • 1. .NET Core How to migrate and write new code for .NET Core
  • 2. Bertrand Le Roy ▪ Senior Program Manager on .NET Core ▪ One of the founders of Orchard ▪ http://weblogs.asp.net/bleroy ▪ https://blogs.msdn.microsoft.com/dotnet/tag/week-in-net/ ▪ https://www.youtube.com/channel/UCvtT19MZW8dq5Wwfu6B0oxw
  • 3. Objectives ▪ What’s .NET Core and when to use it (or not) ▪ How to create a new library, ASP.NET, or console application ▪ How to port existing code
  • 5. .NET Core ≠ .NET Framework
  • 6. .NET Framework 4.6 ▪ .NET implementation for any scenario on Windows with comprehensive library support
  • 7. .NET Core ▪ Modular and smaller implementation of .NET ▪ Cross-platform ▪ App-level isolation ▪ Built in the open ▪ Optimized for specific workloads ▪ Built for the next ten years of software development
  • 8. Next gen JIT (RyuJIT) SIMD Runtime Components Compilers Languages innovation .NET Compiler Platform .NET Core 5 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core What’s common, and what’s not?
  • 9. What’s not supported? ▪ WPF ▪ Winforms ▪ WebForms ▪ Binary serialization… ▪ Anything Windows-specific: registry, ACLs, perf counters, etc.
  • 10. Significant change: Reflection foo.GetType() → foo.GetType().GetTypeInfo()
  • 11. API Portability resources ▪ Portability analyzer VS extension ▪ https://github.com/Microsoft/dotnet-apiport/releases ▪ http://dotnetstatus.azurewebsites.net/ ▪ https://packagesearch.azurewebsites.net/ ▪ http://forums.dotnetfoundation.org/ ▪ https://gitter.im/dotnet/corefx ▪ https://dotnet.github.io/porting *
  • 12. Managing expectations ▪ This is very much a new platform with a known flavor ▪ There is a cost to migration ▪ There are things to learn ▪ Not all projects can or should migrate
  • 13. Should I migrate my project? Cannot: ▪ WPF, WinForms, unless UWP ▪ ASP.NET WebForms Should (absolutely): ▪ General purpose libraries Should (maybe): ▪ ASP.NET MVC ▪ Micro-services ▪ Console apps ▪ Rewrite ▪ Talent expertise on Linux
  • 15. Dependencies ▪ Most fundamental libraries first: test frameworks, tooling, data access, JSON, logging, IoC, etc. ▪ Go to the source, ask the author ▪ Offer to help, or fork ▪ Switch to another Core-compatible library ▪ DIY
  • 16. Testing ▪ xUnit was first, now NUnit, MsTest ▪ Secondary test libraries (mocking, functional testing, etc.) in progress
  • 17. Debugging ▪ On Windows: Visual Studio ▪ Everywhere: VS Code
  • 18. Tooling Your choice of tool, on your choice platform ▪ Visual Studio on Windows ▪ Visual Studio Code on Mac, Linux, or Windows ▪ vi or emacs with OmniSharp ▪ etc.
  • 19. .NET CLI replaces DNX, DNVM, DNU ▪ dotnet new ▪ dotnet restore ▪ dotnet run ▪ dotnet build ▪ dotnet build –native ▪ dotnet dosomethingcool
  • 20. DEMO Creating a new application
  • 21. Q&A

Editor's Notes

  1. Innovation: Innovate and deliver much faster Prompt audience about their favorite pas innovation from .NET. Quote Roslyn, Linq, async/await, generic implementation. Openness enriches the platform and the community On any device and platform
  2. Core is different from .NET Framework, and Core is also not .NET Fx 5.
  3. Open: not just the source: design documents, code reviews, experiments, roadmaps Open contributions with quality standards, in particular in terms of security.
  4. Windows-specific: at least for now, as platform-specific libraries will appear.
  5. WPF, WinForms, even if the application isn’t going cross-platform, stay on .Net Fx. A migration to UWP is possible, but that means a rewrite of the UI in addition to the Core migration. ASP.NET WebForms applications should remain on .NET Fx. On the other hand, MVC applications, micro-services, console apps, and anything that can benefit in being deployed cross-platform, especially using containers, is an excellent choice. General purpose libraries should definitely be ported and support both Core and Fx.
  6. Open VS, go to Tools / Extensions and updates, show the portability analyzer is there. Open FluentPath solution, right-click Fluent.IO, analyze/analyze portability -> 100% Do the same on Fluent.IO.Windows -> 91.67%, and a detailed list of failures. Those APIs are simply not supported because Windows-specific. Do the same with the NonPortableLibrary solution -> 97.22%. Show how the IsAbstract recommended change is to go through GetTypeInfo(). Show the html file on disk. From the NonPortableLibrary root folder, do …\apiport.exe listOutputFormats; …\apiport.exe analyze –f .\bin\Debug –r Excel –o report.xlsx. Show the Excel report with its two tabs. Go to http://dotnetstatus.azurewebsites.net, look for IsAbstract, show the Type and TypeInfo entries. (That’s an anomaly due to the fact that TypeInfo on .NET Framework derives from Type. Most of the TypeInfo thus show up as defined by the base.) Go to https://packagesearch.azurewebsites.net, look for IsAbstract, show the result for System.Reflection.TypeInfo, show package name and version number.
  7. Open the Nuget Package Explorer.+3. Click "Open a package from online feed". (screenshot)+4. Search for the name of a package in the search field and hit enter. (screenshot of result)+5. Expand the "lib" folder and look for a target subfolder that is compatible with .NET Core. (screenshot)++ TODO: Something with `dnxcore50`, `dotnet`, `netstandardlib`, ... is what you're looking for.+ + If there isn't a target subfolder compatible with .NET Core, the dependency will not run on .NET Core.
  8. Mention JetBrains Project Rider
  9. Dotnet build, in the case of an app, generates runnable assets by copying an executable host.
  10. Create new portable library from VS by following the script http://aka.ms/port2core Create new command-line app from CLI: show https://github.com/dotnet/cli/blob/master/Documentation/intro-to-cli.md