SlideShare a Scribd company logo
1 of 65
.NET Core Saturday 2016 – 22.10.2016
Introduction
to .NET Core
Marco Parenzan
Microsoft MVP for Azure
@marco_parenzan
.NET Core Saturday 2016 – 22.10.2016
@marco_parenzan
◇Microsoft MVP 2016 for Azure
◇Azure Trainer in Cloud Academy, Inc.
◇Community Lead for 1nn0va
.NET Core Saturday 2016 – 22.10.2016
The need of a new
framework
It was 1996
.NET Core Saturday 2016 – 22.10.2016
Requirements in 1996
◇...starting after Java
◇JVMJitted Execution Engine
◇High cost per Mb
◇Raising Internet, not Cloud
◇COM3 and Visual Basic 6 needed a successor
◇Windows Only (no MacOS, no Linux n°1 Cloud OS)
.NET Core Saturday 2016 – 22.10.2016
.NET in 2001
◇https://channel9.msdn.com/Blogs/Seth-Juarez/What-is-NET-Standard
◇«Drag&Drop a button...»
.NET FX
Win Form
ASP.NET
WebForm
C# VB.NET
.NET Core Saturday 2016 – 22.10.2016
The need of a new
framework
It was 2012
.NET Core Saturday 2016 – 22.10.2016
Requirements in 2012
Cloud First
Portability
New
Architectures
New
Languages
Node.js
Tooling
New
Deployments
Command
Line Open Source
Coding Tools
Breaking
Changes
.NET Core Saturday 2016 – 22.10.2016
Cloud First
◇Azure and other cloud providers
◇High densityLight, Highly optimized
.NET Core Saturday 2016 – 22.10.2016
Portability
◇Windows and Linux on Cloud
◇Windows and MacOS on desktop
◇iOS and Android on smartphone
◇«........(ARM) (x86)» on Internet of Things
.NET Core Saturday 2016 – 22.10.2016
Open Source
◇Open Source standards
◇Contributions from community
◇GitHub
.NET Core Saturday 2016 – 22.10.2016
Mono
◇Open Source implementation of the standardized Common Language
Infrastructure
■http://www.mono-project.com/docs/about-mono/languages/ecma/
◇Anticipated, inspired, what .NET should be (example: C# REPL), multiplatform
◇Xamarin
.NET Core Saturday 2016 – 22.10.2016
New Architectures
◇Successful ARM for Smartphones and Internet of Things has changed the scenario
◇ARM is small footprint (memory, CPU power)
■No more runtime, but native compilation, architecture specific
.NET Core Saturday 2016 – 22.10.2016
New languages
◇JavaScript, ECMAScript, Node.js and TypeScript
◇More Python than Java
◇Go
◇R
.NET Core Saturday 2016 – 22.10.2016
Node.js Tooling
◇Node.js
◇NPM
◇JavaScript V8
.NET Core Saturday 2016 – 22.10.2016
New deployments
◇Application Lifecycle Management
■Source Code Management
■Continuous Integration
■Continuous Delivery
■Testing
◇Containerization and Docker
◇Microservices
.NET Core Saturday 2016 – 22.10.2016
Command Line
◇Bash and Powershell
◇Azure and AWS
◇Docker
.NET Core Saturday 2016 – 22.10.2016
Coding Tools
◇IDEVisual Studio (Full) for Windows
◇EditorVisual Studio Code for Windows, Linux and MacOS
.NET Core Saturday 2016 – 22.10.2016
Breaking changes
◇Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008,
Windows 7, Windows 8 and Windows 8.1, Windows Server 2012, and Windows 10
■https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx
◇Contrast that with the Microsoft .NET Framework 1.0 (2002), which is incompatible
with Windows 7 (2009)
■https://msdn.microsoft.com/en-us/magazine/jj133828.aspx
◇No more .NET frameworks major versions after 4.x
■Only in-place replacements
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core
Time for a new .NET
.NET Core Saturday 2016 – 22.10.2016
What is .NET
Time do to a recap
.NET Core Saturday 2016 – 22.10.2016
What is .NET?
◇Common Language Runtime (CLR)
■Services common for all language implementers (Type System, language feaures
like inheritance, generics, interfaces, and overloading for object-oriented
programming). Async Programming, Threading, Structured Exception Handling,
Attributes, Garbage Collection, Delegates)
◇Intermediate Language (IL)
■The generated code from each language compiler
◇Common Language Specifications (CLS)
■The rules to follow to be interoperable among languages
◇Base Class Library
■A set of types (System.Object, System.Int32, System.String, System.IO.*, …) common
to all .NET
◇Framework
■The implementation of all of these…
.NET Core Saturday 2016 – 22.10.2016
Portable Class Libraries
◇The environment is a synthetic one that is generated by the intersection of a set of
concrete .NET platforms. This means that exposed APIs and platform assumptions
are a subset of what would be available to a platform-specific library.
◇You choose a platform configuration when you create a portable library. These are
the set of platforms that you need to support (for example, .NET Framework 4.5+,
Windows Phone 8.0+). The more platforms you opt to support, the fewer APIs and
fewer platform assumptions you can make, the lowest common denominator. This
characteristic can be confusing at first, since people often think “more is better”, but
find that more supported platforms results in fewer available APIs.
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core (2)
Again...Time for a new .NET
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core?
◇A new .NET CLR
◇A set of new libraries
◇A set of SDK tools and language compilers
◇The 'dotnet' app host
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core?
◇Objectives
■Modular and smaller implementation of .NET
■Cross-platform
■App-level isolation
■Built in the open
■Optimized for specific workloads (Cloud)
■Built for the next ten years of software development
◇.NET Codebase Fork
■No compromises on retrocompatibility
■Versioning and dependencing issues
.NET Core Saturday 2016 – 22.10.2016
.NET Core Application Models
◇Console application
◇Completly rewritten ASP.NET to support Cloud
■x64 first scenario
◇Universal Windows Platform: Windows Store Apps (cross-device)
.NET Core Saturday 2016 – 22.10.2016
Breaking changes
◇No Global Assembly Cache
■All assemblies are deployed privately
■An assembly for each namespace (no
more mscorelib.dll)
◇No application models
■WPF
■Winforms
■WebForms
◇Anything Windows-specific
■registry, ACLs, perf counters, etc.
◇No AppDomains
■Infrastructure exists but it is no longer
usable in terms of API
■New AppContext object
■AssemblyLoadContext to dynamically
load assemblies
■Container to isolate code
◇No Remoting
◇No Binary Serialization
◇No Code Access Security (CAS)
.NET Core Saturday 2016 – 22.10.2016
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
.NET Core Saturday 2016 – 22.10.2016
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
.NET today—app models and libraries
.NET Core Saturday 2016 – 22.10.2016
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
.NET today—reusing code
.NET Core Saturday 2016 – 22.10.2016
• Codebase Fork
• Need implementations of new capabilities on each platform
• Need to align with different ship cycles (e.g., Windows for
.NET Framework)
• Key API’s are not present on all platforms
• Different implementations on each platform
• Need to target a small common denominator to reuse code
• Need to master 3 base class libraries
.NET today—challenges
Developers
Platforms
.NET Core Saturday 2016 – 22.10.2016
.NET Standard Library
.NET Core Saturday 2016 – 22.10.2016
.NET ecosystem tomorrow
.NET FRAMEWORK .NET CORE XAMARIN
*
.NET Core Saturday 2016 – 22.10.2016
.NET tomorrow—.NET Core today
.NET FRAMEWORK .NET CORE XAMARIN
.NET Core Saturday 2016 – 22.10.2016
.NET Standard Library
◇Starting from PCL purposes
◇Common functionalities among choosen platform at compile time
◇Runtime library contracts
◇Set of reference assemblies
◇Binary compatibility
◇NuGet packages idenfified by «moniker» (ex. «netstandard1.6»)
■don’t need to specify all supported runtimes: net45+wp80+win8+wpa81+dnxcore50
■Netstandard 1.4: target Fx 4.6, Core 1.0, UWP, Mono
■Netstandard 1.2: target Fx 4.5, Windows Phone 8, etc.
◇So it can run on any Runtime complaining standard
◇https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-
platform-standard.md
.NET Core Saturday 2016 – 22.10.2016
.NET Platforms
Target Platform Name Alias Versions
.NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6
.NET Core netcoreapp 1.0
.NET Framework net 4.6.3
4.6.2
4.6.1
4.6
4.5.2
4.5.1
4.5
Universal Windows Platform uap 10.0
Windows win 8.1
8.0
Windows Phone wpa 8.1
Windows Phone Silverlight wp 8.1
8.0
Mono/Xamarin Platforms *
Mono *
.NET Core Saturday 2016 – 22.10.2016
.NET Core Runtimes
◇Runtime Adaptation Layer
■Specific layer to complete platform specific implementation
◇Runtime Identifier RID
■Identifies Operative System
■https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
.NET Core Saturday 2016 – 22.10.2016
Runtime Identifier RID
•Windows 7 / Windows Server 2008 R2
•win7-x64
•win7-x86
•Windows 8 / Windows Server 2012
•win8-x64
•win8-x86
•win8-arm
•Windows 8.1 / Windows Server 2012 R2
•win81-x64
•win81-x86
•win81-arm
•Windows 10 / Windows Server 2016
•win10-x64
•win10-x86
•win10-arm
•win10-arm64
•Red Hat Enterprise Linux
•rhel.7.0-x64
•rhel.7.1-x64
•rhel.7.2-x64
•Ubuntu
•ubuntu.14.04-x64
•ubuntu.14.10-x64
•ubuntu.15.04-x64
•ubuntu.15.10-x64
•ubuntu.16.04-x64
•ubuntu.16.10-x64
•CentOS
•centos.7-x64
•Debian
•debian.8-x64
•Fedora
•fedora.23-x64
•fedora.24-x64
•osx.10.10-x64
•osx.10.11-x64
•osx.10.12-x64
•OpenSUSE
•opensuse.13.2-x64
•opensuse.42.1-x64
•Oracle Linux
•ol.7-x64
•ol.7.0-x64
•ol.7.1-x64
•ol.7.2-x64
•Currently supported Ubuntu derivatives
•linuxmint.17-x64
•linuxmint.17.1-x64
•linuxmint.17.2-x64
•linuxmint.17.3-x64
•linuxmint.18-x64
WINDOWS RIDS LINUX RIDS
WINDOWS RIDS
.NET Core Saturday 2016 – 22.10.2016
.NET tomorrow—.NET Core today
.NET FRAMEWORK .NET CORE XAMARIN
.NET Core Saturday 2016 – 22.10.2016
.NET Core Runtime
.NET Core Saturday 2016 – 22.10.2016
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?
.NET Core Saturday 2016 – 22.10.2016
.NET Compilers
◇The C# and F# languages (Visual Basic is coming)
◇C# 6.0 is the same (road to 7.0)
◇Integrated into several text editors and IDEs
◇Roslyn: open-source C# and Visual Basic compilers with rich code analysis APIs
.NET Core Saturday 2016 – 22.10.2016
Compilers and runtimes in action
◇JIT: Just-in-Time
Fast compilation during runtime
◇AOT: Ahead of Time
Highly optimized machine code during build
CoreRT
.NET
Native
Compiler
Single binary
64 bit native code
CoreCLR
RyuJIT
.NET assemblies
IL code
Roslyn
Compiler
Platform
Build
AOT
Native
codeJIT
CoreFX
.NET Core Saturday 2016 – 22.10.2016
CoreCLR
◇CoreCLR is the new runtime environment used by ASP.NET and the Console
Application
◇It uses new RyuJIT. Includes basic services and Garbage Collector
◇It's faster and produces optimized code (SIMD, Vectorization, etc.)
◇https://github.com/dotnet/coreclr
.NET Core Saturday 2016 – 22.10.2016
CoreRT
◇CoreRT is another used by UWP
◇.NET Native generates all the native code and is free from all addictions
◇UWP uses the CoreCLR during debugging and .NET Native in Release
◇.NET is a Ahead of Time (AOT) compiler
◇Native compilation uses the backend compiler in Visual C++
◇https://github.com/dotnet/corert
◇Pro
■Less boot time, less RAM
■Better performances
■Less battery
◇Cons:
■Compile Time
■Linq interpreted
.NET Core Saturday 2016 – 22.10.2016
CoreFX
◇It includes classes for collections, file systems, console, XML, async and many
others
◇https://github.com/dotnet/corefx
■This repo contains the .NET Core foundational libraries
.NET Core Saturday 2016 – 22.10.2016
Tools
.NET Core Saturday 2016 – 22.10.2016
Acquisition
◇NET Core is distributed in two main ways, as packages on NuGet.org and as
standalone distributions.
◇You can download .NET Core at https://www.microsoft.com/net/download
◇The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools
◇.NET Core Packages contain the .NET Core runtime and libraries.
.NET Core Saturday 2016 – 22.10.2016
Developer Environments
◇Your choice of tool, on your choice platform
■Visual Studio on Windows
■Visual Studio Code on Mac, Linux, or Windows
■vi or emacs
.NET Core Saturday 2016 – 22.10.2016
Text before UI
◇Everything from text files
■Projects
■Configuration
■Preferences and options
■Launch settings
◇JSON is preferred
data format
.NET Core Saturday 2016 – 22.10.2016
dotnet.exe Command Line
◇dotnet new
◇dotnet restore
◇dotnet run
◇dotnet build
◇dotnet build –native
◇dotnet test
◇dotnet pack
◇dotnet deploy
.NET Core Saturday 2016 – 22.10.2016
Testing
◇xUnit was first, now NUnit, MsTest
◇Secondary test libraries (mocking, functional testing, etc.) in progress
◇Add following NUGET packages: xunit, dotnet-test-xunit
Run tests:
dotnet test
.NET Core Saturday 2016 – 22.10.2016
Application Types
.NET Core Saturday 2016 – 22.10.2016
New project system
◇Independent of Visual Studio
◇JSON files instead of VS artefacts
◇Every file is relevant
■Unless stated otherwise
◇Specific folder structure
◇Build for multiple target frameworks
◇.xproj for Visual Studio (for now)
◇C:Program Files (x86)Microsoft SDKsNuGetPackages
.NET Core Saturday 2016 – 22.10.2016
NuGet all the things
◇NuGet packages are unit of reference
■Not assemblies
◇Projects will:
■build NuGet packages
■reference NuGet packages
.NET Core Saturday 2016 – 22.10.2016
Global.json
◇Defines the SDK-s to be used in solution (projects)
◇SDK is installed in: C:Program Filesdotnetsdk
.NET Core Saturday 2016 – 22.10.2016
Project.json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
.NET Core Saturday 2016 – 22.10.2016
Framework Dependent Application
◇Framework Dependent Application
■Common .NET application type
■It requires preinstalled .NET framework to run
■Small footprint
◇Runtime in C:Program Filesdotnetsdk
.NET Core Saturday 2016 – 22.10.2016
Self Contained Applications
◇Precompiled for specific runtime
■win10-x64
■osx.10.10-x64
■ubuntu.14.04-x64
◇Includes runtime assemblies as a part of application
◇Does not need preinstalled framework
◇Big footprint.
◇Deployment is two-step process
■Build Executable shim
■Publish with runtime
.NET Core Saturday 2016 – 22.10.2016
Self-Contained Applications{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
// "type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {},
"osx.10.10-x64": {},
"ubuntu.14.04-x64": {}
}
Remove this to
activate build of
executable.
Add wanted
runtimes. Or you
get an error. 
.NET Core Saturday 2016 – 22.10.2016
Step I: Build executable shim
Build application:
C:AppFolder>dotnet build
Native shim code.
You application is
still here  in DLL
When you run this it is
will load framework
assemblies from
installation folder. It is still
not self-contained
application
.NET Core Saturday 2016 – 22.10.2016
Step II: Build Self-Contained Application
Build application:
C:AppFolder>dotnet build
Build application:
C:AppFolder>dotnet publish –r win10-x64
C:AppFolder>dotnet publish –r win10-x86
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
All framework
assemblies are
deployed with
application.
.NET Core Saturday 2016 – 22.10.2016
Conclusions
.NET Core Saturday 2016 – 22.10.2016
Conclusions
◇Coherent with new requirements
◇Learned from the community
◇Open
◇https://github.com/dotnet/core
◇Global vision for all .NET ecosystem
◇Support for all runtimes in future (.NET Full, Mono, Xamarin)
.NET Core Saturday 2016 – 22.10.2016
Any questions?
You can find me at: marco.parenzan@1nn0va.it
Thanks!

More Related Content

What's hot

ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
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 fundamentalsLalit Kale
 
.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 dotnetRick van den Bosch
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Coremohamed elshafey
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
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 FrameworkShravan A
 
Clean architecture
Clean architectureClean architecture
Clean architecture.NET Crowd
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOPDzmitry Naskou
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 

What's hot (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
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
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
.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
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
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
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 
Clean architecture
Clean architectureClean architecture
Clean architecture
 
Spring boot
Spring bootSpring boot
Spring boot
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
React native
React nativeReact native
React native
 
React Native
React NativeReact Native
React Native
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Viewers also liked

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET MicroservicesVMware Tanzu
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Dockercjmyers
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioWindows Developer
 
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersE book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersAileen Gusni
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Binary Studio
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating SkillsAshit Jain
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardAlex Thissen
 
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Windows Developer
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Mark Lechtermann
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Monty C. M. Metzger
 

Viewers also liked (15)

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual Studio
 
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersE book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating Skills
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
 
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution
 
10 facts about jobs in the future
10 facts about jobs in the future10 facts about jobs in the future
10 facts about jobs in the future
 

Similar to Introduction to .NET Core

What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelliAndrea Tosato
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentalsHosein Mansouri
 
Nano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerNano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerITCamp
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Alfonso Garcia-Caro
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and ImprovementsJeff Chu
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3Andrea Dottor
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerITCamp
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017ElifTech
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 

Similar to Introduction to .NET Core (20)

What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
Nano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerNano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas Maurer
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
Mini .net conf 2020
Mini .net conf 2020Mini .net conf 2020
Mini .net conf 2020
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
 
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
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas Maurer
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
 

More from Marco Parenzan

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerMarco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxMarco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and AzureMarco Parenzan
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralMarco Parenzan
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogameMarco Parenzan
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Marco Parenzan
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETMarco Parenzan
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetMarco Parenzan
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .netMarco Parenzan
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .netMarco Parenzan
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicMarco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTMarco Parenzan
 

More from Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Introduction to .NET Core

  • 1. .NET Core Saturday 2016 – 22.10.2016 Introduction to .NET Core Marco Parenzan Microsoft MVP for Azure @marco_parenzan
  • 2. .NET Core Saturday 2016 – 22.10.2016 @marco_parenzan ◇Microsoft MVP 2016 for Azure ◇Azure Trainer in Cloud Academy, Inc. ◇Community Lead for 1nn0va
  • 3. .NET Core Saturday 2016 – 22.10.2016 The need of a new framework It was 1996
  • 4. .NET Core Saturday 2016 – 22.10.2016 Requirements in 1996 ◇...starting after Java ◇JVMJitted Execution Engine ◇High cost per Mb ◇Raising Internet, not Cloud ◇COM3 and Visual Basic 6 needed a successor ◇Windows Only (no MacOS, no Linux n°1 Cloud OS)
  • 5. .NET Core Saturday 2016 – 22.10.2016 .NET in 2001 ◇https://channel9.msdn.com/Blogs/Seth-Juarez/What-is-NET-Standard ◇«Drag&Drop a button...» .NET FX Win Form ASP.NET WebForm C# VB.NET
  • 6. .NET Core Saturday 2016 – 22.10.2016 The need of a new framework It was 2012
  • 7. .NET Core Saturday 2016 – 22.10.2016 Requirements in 2012 Cloud First Portability New Architectures New Languages Node.js Tooling New Deployments Command Line Open Source Coding Tools Breaking Changes
  • 8. .NET Core Saturday 2016 – 22.10.2016 Cloud First ◇Azure and other cloud providers ◇High densityLight, Highly optimized
  • 9. .NET Core Saturday 2016 – 22.10.2016 Portability ◇Windows and Linux on Cloud ◇Windows and MacOS on desktop ◇iOS and Android on smartphone ◇«........(ARM) (x86)» on Internet of Things
  • 10. .NET Core Saturday 2016 – 22.10.2016 Open Source ◇Open Source standards ◇Contributions from community ◇GitHub
  • 11. .NET Core Saturday 2016 – 22.10.2016 Mono ◇Open Source implementation of the standardized Common Language Infrastructure ■http://www.mono-project.com/docs/about-mono/languages/ecma/ ◇Anticipated, inspired, what .NET should be (example: C# REPL), multiplatform ◇Xamarin
  • 12. .NET Core Saturday 2016 – 22.10.2016 New Architectures ◇Successful ARM for Smartphones and Internet of Things has changed the scenario ◇ARM is small footprint (memory, CPU power) ■No more runtime, but native compilation, architecture specific
  • 13. .NET Core Saturday 2016 – 22.10.2016 New languages ◇JavaScript, ECMAScript, Node.js and TypeScript ◇More Python than Java ◇Go ◇R
  • 14. .NET Core Saturday 2016 – 22.10.2016 Node.js Tooling ◇Node.js ◇NPM ◇JavaScript V8
  • 15. .NET Core Saturday 2016 – 22.10.2016 New deployments ◇Application Lifecycle Management ■Source Code Management ■Continuous Integration ■Continuous Delivery ■Testing ◇Containerization and Docker ◇Microservices
  • 16. .NET Core Saturday 2016 – 22.10.2016 Command Line ◇Bash and Powershell ◇Azure and AWS ◇Docker
  • 17. .NET Core Saturday 2016 – 22.10.2016 Coding Tools ◇IDEVisual Studio (Full) for Windows ◇EditorVisual Studio Code for Windows, Linux and MacOS
  • 18. .NET Core Saturday 2016 – 22.10.2016 Breaking changes ◇Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, Windows 8 and Windows 8.1, Windows Server 2012, and Windows 10 ■https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx ◇Contrast that with the Microsoft .NET Framework 1.0 (2002), which is incompatible with Windows 7 (2009) ■https://msdn.microsoft.com/en-us/magazine/jj133828.aspx ◇No more .NET frameworks major versions after 4.x ■Only in-place replacements
  • 19. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core Time for a new .NET
  • 20. .NET Core Saturday 2016 – 22.10.2016 What is .NET Time do to a recap
  • 21. .NET Core Saturday 2016 – 22.10.2016 What is .NET? ◇Common Language Runtime (CLR) ■Services common for all language implementers (Type System, language feaures like inheritance, generics, interfaces, and overloading for object-oriented programming). Async Programming, Threading, Structured Exception Handling, Attributes, Garbage Collection, Delegates) ◇Intermediate Language (IL) ■The generated code from each language compiler ◇Common Language Specifications (CLS) ■The rules to follow to be interoperable among languages ◇Base Class Library ■A set of types (System.Object, System.Int32, System.String, System.IO.*, …) common to all .NET ◇Framework ■The implementation of all of these…
  • 22. .NET Core Saturday 2016 – 22.10.2016 Portable Class Libraries ◇The environment is a synthetic one that is generated by the intersection of a set of concrete .NET platforms. This means that exposed APIs and platform assumptions are a subset of what would be available to a platform-specific library. ◇You choose a platform configuration when you create a portable library. These are the set of platforms that you need to support (for example, .NET Framework 4.5+, Windows Phone 8.0+). The more platforms you opt to support, the fewer APIs and fewer platform assumptions you can make, the lowest common denominator. This characteristic can be confusing at first, since people often think “more is better”, but find that more supported platforms results in fewer available APIs.
  • 23. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core (2) Again...Time for a new .NET
  • 24. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core? ◇A new .NET CLR ◇A set of new libraries ◇A set of SDK tools and language compilers ◇The 'dotnet' app host
  • 25. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core? ◇Objectives ■Modular and smaller implementation of .NET ■Cross-platform ■App-level isolation ■Built in the open ■Optimized for specific workloads (Cloud) ■Built for the next ten years of software development ◇.NET Codebase Fork ■No compromises on retrocompatibility ■Versioning and dependencing issues
  • 26. .NET Core Saturday 2016 – 22.10.2016 .NET Core Application Models ◇Console application ◇Completly rewritten ASP.NET to support Cloud ■x64 first scenario ◇Universal Windows Platform: Windows Store Apps (cross-device)
  • 27. .NET Core Saturday 2016 – 22.10.2016 Breaking changes ◇No Global Assembly Cache ■All assemblies are deployed privately ■An assembly for each namespace (no more mscorelib.dll) ◇No application models ■WPF ■Winforms ■WebForms ◇Anything Windows-specific ■registry, ACLs, perf counters, etc. ◇No AppDomains ■Infrastructure exists but it is no longer usable in terms of API ■New AppContext object ■AssemblyLoadContext to dynamically load assemblies ■Container to isolate code ◇No Remoting ◇No Binary Serialization ◇No Code Access Security (CAS)
  • 28. .NET Core Saturday 2016 – 22.10.2016 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
  • 29. .NET Core Saturday 2016 – 22.10.2016 .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES .NET today—app models and libraries
  • 30. .NET Core Saturday 2016 – 22.10.2016 .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES .NET today—reusing code
  • 31. .NET Core Saturday 2016 – 22.10.2016 • Codebase Fork • Need implementations of new capabilities on each platform • Need to align with different ship cycles (e.g., Windows for .NET Framework) • Key API’s are not present on all platforms • Different implementations on each platform • Need to target a small common denominator to reuse code • Need to master 3 base class libraries .NET today—challenges Developers Platforms
  • 32. .NET Core Saturday 2016 – 22.10.2016 .NET Standard Library
  • 33. .NET Core Saturday 2016 – 22.10.2016 .NET ecosystem tomorrow .NET FRAMEWORK .NET CORE XAMARIN *
  • 34. .NET Core Saturday 2016 – 22.10.2016 .NET tomorrow—.NET Core today .NET FRAMEWORK .NET CORE XAMARIN
  • 35. .NET Core Saturday 2016 – 22.10.2016 .NET Standard Library ◇Starting from PCL purposes ◇Common functionalities among choosen platform at compile time ◇Runtime library contracts ◇Set of reference assemblies ◇Binary compatibility ◇NuGet packages idenfified by «moniker» (ex. «netstandard1.6») ■don’t need to specify all supported runtimes: net45+wp80+win8+wpa81+dnxcore50 ■Netstandard 1.4: target Fx 4.6, Core 1.0, UWP, Mono ■Netstandard 1.2: target Fx 4.5, Windows Phone 8, etc. ◇So it can run on any Runtime complaining standard ◇https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net- platform-standard.md
  • 36. .NET Core Saturday 2016 – 22.10.2016 .NET Platforms Target Platform Name Alias Versions .NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 .NET Core netcoreapp 1.0 .NET Framework net 4.6.3 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 Universal Windows Platform uap 10.0 Windows win 8.1 8.0 Windows Phone wpa 8.1 Windows Phone Silverlight wp 8.1 8.0 Mono/Xamarin Platforms * Mono *
  • 37. .NET Core Saturday 2016 – 22.10.2016 .NET Core Runtimes ◇Runtime Adaptation Layer ■Specific layer to complete platform specific implementation ◇Runtime Identifier RID ■Identifies Operative System ■https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
  • 38. .NET Core Saturday 2016 – 22.10.2016 Runtime Identifier RID •Windows 7 / Windows Server 2008 R2 •win7-x64 •win7-x86 •Windows 8 / Windows Server 2012 •win8-x64 •win8-x86 •win8-arm •Windows 8.1 / Windows Server 2012 R2 •win81-x64 •win81-x86 •win81-arm •Windows 10 / Windows Server 2016 •win10-x64 •win10-x86 •win10-arm •win10-arm64 •Red Hat Enterprise Linux •rhel.7.0-x64 •rhel.7.1-x64 •rhel.7.2-x64 •Ubuntu •ubuntu.14.04-x64 •ubuntu.14.10-x64 •ubuntu.15.04-x64 •ubuntu.15.10-x64 •ubuntu.16.04-x64 •ubuntu.16.10-x64 •CentOS •centos.7-x64 •Debian •debian.8-x64 •Fedora •fedora.23-x64 •fedora.24-x64 •osx.10.10-x64 •osx.10.11-x64 •osx.10.12-x64 •OpenSUSE •opensuse.13.2-x64 •opensuse.42.1-x64 •Oracle Linux •ol.7-x64 •ol.7.0-x64 •ol.7.1-x64 •ol.7.2-x64 •Currently supported Ubuntu derivatives •linuxmint.17-x64 •linuxmint.17.1-x64 •linuxmint.17.2-x64 •linuxmint.17.3-x64 •linuxmint.18-x64 WINDOWS RIDS LINUX RIDS WINDOWS RIDS
  • 39. .NET Core Saturday 2016 – 22.10.2016 .NET tomorrow—.NET Core today .NET FRAMEWORK .NET CORE XAMARIN
  • 40. .NET Core Saturday 2016 – 22.10.2016 .NET Core Runtime
  • 41. .NET Core Saturday 2016 – 22.10.2016 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?
  • 42. .NET Core Saturday 2016 – 22.10.2016 .NET Compilers ◇The C# and F# languages (Visual Basic is coming) ◇C# 6.0 is the same (road to 7.0) ◇Integrated into several text editors and IDEs ◇Roslyn: open-source C# and Visual Basic compilers with rich code analysis APIs
  • 43. .NET Core Saturday 2016 – 22.10.2016 Compilers and runtimes in action ◇JIT: Just-in-Time Fast compilation during runtime ◇AOT: Ahead of Time Highly optimized machine code during build CoreRT .NET Native Compiler Single binary 64 bit native code CoreCLR RyuJIT .NET assemblies IL code Roslyn Compiler Platform Build AOT Native codeJIT CoreFX
  • 44. .NET Core Saturday 2016 – 22.10.2016 CoreCLR ◇CoreCLR is the new runtime environment used by ASP.NET and the Console Application ◇It uses new RyuJIT. Includes basic services and Garbage Collector ◇It's faster and produces optimized code (SIMD, Vectorization, etc.) ◇https://github.com/dotnet/coreclr
  • 45. .NET Core Saturday 2016 – 22.10.2016 CoreRT ◇CoreRT is another used by UWP ◇.NET Native generates all the native code and is free from all addictions ◇UWP uses the CoreCLR during debugging and .NET Native in Release ◇.NET is a Ahead of Time (AOT) compiler ◇Native compilation uses the backend compiler in Visual C++ ◇https://github.com/dotnet/corert ◇Pro ■Less boot time, less RAM ■Better performances ■Less battery ◇Cons: ■Compile Time ■Linq interpreted
  • 46. .NET Core Saturday 2016 – 22.10.2016 CoreFX ◇It includes classes for collections, file systems, console, XML, async and many others ◇https://github.com/dotnet/corefx ■This repo contains the .NET Core foundational libraries
  • 47. .NET Core Saturday 2016 – 22.10.2016 Tools
  • 48. .NET Core Saturday 2016 – 22.10.2016 Acquisition ◇NET Core is distributed in two main ways, as packages on NuGet.org and as standalone distributions. ◇You can download .NET Core at https://www.microsoft.com/net/download ◇The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools ◇.NET Core Packages contain the .NET Core runtime and libraries.
  • 49. .NET Core Saturday 2016 – 22.10.2016 Developer Environments ◇Your choice of tool, on your choice platform ■Visual Studio on Windows ■Visual Studio Code on Mac, Linux, or Windows ■vi or emacs
  • 50. .NET Core Saturday 2016 – 22.10.2016 Text before UI ◇Everything from text files ■Projects ■Configuration ■Preferences and options ■Launch settings ◇JSON is preferred data format
  • 51. .NET Core Saturday 2016 – 22.10.2016 dotnet.exe Command Line ◇dotnet new ◇dotnet restore ◇dotnet run ◇dotnet build ◇dotnet build –native ◇dotnet test ◇dotnet pack ◇dotnet deploy
  • 52. .NET Core Saturday 2016 – 22.10.2016 Testing ◇xUnit was first, now NUnit, MsTest ◇Secondary test libraries (mocking, functional testing, etc.) in progress ◇Add following NUGET packages: xunit, dotnet-test-xunit Run tests: dotnet test
  • 53. .NET Core Saturday 2016 – 22.10.2016 Application Types
  • 54. .NET Core Saturday 2016 – 22.10.2016 New project system ◇Independent of Visual Studio ◇JSON files instead of VS artefacts ◇Every file is relevant ■Unless stated otherwise ◇Specific folder structure ◇Build for multiple target frameworks ◇.xproj for Visual Studio (for now) ◇C:Program Files (x86)Microsoft SDKsNuGetPackages
  • 55. .NET Core Saturday 2016 – 22.10.2016 NuGet all the things ◇NuGet packages are unit of reference ■Not assemblies ◇Projects will: ■build NuGet packages ■reference NuGet packages
  • 56. .NET Core Saturday 2016 – 22.10.2016 Global.json ◇Defines the SDK-s to be used in solution (projects) ◇SDK is installed in: C:Program Filesdotnetsdk
  • 57. .NET Core Saturday 2016 – 22.10.2016 Project.json { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
  • 58. .NET Core Saturday 2016 – 22.10.2016 Framework Dependent Application ◇Framework Dependent Application ■Common .NET application type ■It requires preinstalled .NET framework to run ■Small footprint ◇Runtime in C:Program Filesdotnetsdk
  • 59. .NET Core Saturday 2016 – 22.10.2016 Self Contained Applications ◇Precompiled for specific runtime ■win10-x64 ■osx.10.10-x64 ■ubuntu.14.04-x64 ◇Includes runtime assemblies as a part of application ◇Does not need preinstalled framework ◇Big footprint. ◇Deployment is two-step process ■Build Executable shim ■Publish with runtime
  • 60. .NET Core Saturday 2016 – 22.10.2016 Self-Contained Applications{ "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", // "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } }, "runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} } Remove this to activate build of executable. Add wanted runtimes. Or you get an error. 
  • 61. .NET Core Saturday 2016 – 22.10.2016 Step I: Build executable shim Build application: C:AppFolder>dotnet build Native shim code. You application is still here  in DLL When you run this it is will load framework assemblies from installation folder. It is still not self-contained application
  • 62. .NET Core Saturday 2016 – 22.10.2016 Step II: Build Self-Contained Application Build application: C:AppFolder>dotnet build Build application: C:AppFolder>dotnet publish –r win10-x64 C:AppFolder>dotnet publish –r win10-x86 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 All framework assemblies are deployed with application.
  • 63. .NET Core Saturday 2016 – 22.10.2016 Conclusions
  • 64. .NET Core Saturday 2016 – 22.10.2016 Conclusions ◇Coherent with new requirements ◇Learned from the community ◇Open ◇https://github.com/dotnet/core ◇Global vision for all .NET ecosystem ◇Support for all runtimes in future (.NET Full, Mono, Xamarin)
  • 65. .NET Core Saturday 2016 – 22.10.2016 Any questions? You can find me at: marco.parenzan@1nn0va.it Thanks!

Editor's Notes

  1. 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.
  2. https://en.wikipedia.org/wiki/Ahead-of-time_compilation
  3. NET Core is distributed in two main ways, as packages on NuGet.org and as standalone distributions. You can download .NET Core at the .NET Core Getting Started page. The Microsoft .NET Core distribution includes the CoreCLR runtime, associated libraries, a console application host and the dotnet app launcher. It is described by the Microsoft.NETCore.App metapackage. The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools for restoring NuGet packages and compiling and building apps. Typically, you will first install the .NET Core SDK to get started with .NET Core development. You may choose to install additional .NET Core (perhaps pre-release) builds. .NET Core Packages contain the .NET Core runtime and libraries (reference assemblies and implementations), for example, System.Net.Http. .NET Core Metapackages describe various layers and app-models by referencing the appropriate set of versioned library packages.
  4. Dotnet build, in the case of an app, generates runnable assets by copying an executable host.