SlideShare a Scribd company logo
Intro to .NET (Core)
2017-12-20 21:51
ROY <xuqiang@gridsum.com>
Agenda
• .NET
• .NET Standard
• .NET Framework
• .NET Core
• Xamarin/Mono
• Deep into .NET Core
• Packages
• Metapackages
• .NET Core SDK
• .NET Core CLI
• Target frameworks
• .NET Standard
• .NET Core Application
• .NET Framework
• Introduction to ASP.NET Core
.NET
• .NET is a free, cross-platform, open source developer platform for
building many different types of applications.
• With .NET, you can use multiple languages, editors, and libraries to build
for web, mobile, desktop, gaming, and IoT.
• .NET Framework/.NET Core/Mono (Xamarin)
• C#/VB.NET/F#
• Assembly/DLL/MSIL
• Common Language Runtime (CLR)
• GC/JIT
• CoreCLR
• Base Class Library (BCL)
• CoreFX
• Framework Class Library (FCL)
• ASP.NET/Windows Forms/WPF
• ASP.NET Core
.NET Standard specification
• The .NET Standard is a formal specification of .NET APIs that are
intended to be available on all .NET implementations. The
motivation behind the .NET Standard is establishing greater
uniformity in the .NET ecosystem.
• The .NET Standard enables the following key scenarios:
• Defines uniform set of BCL APIs for all .NET implementations to implement,
independent of workload.
• Enables developers to produce portable libraries that are usable across
.NET implementations, using this same set of APIs.
• Reduces or even eliminates conditional compilation of shared source due
to .NET APIs, only for OS APIs.
.NET Standard .NET implementation support
.NET Framework
• An implementation of .NET that runs only on Windows.
• Includes the Common Language Runtime (CLR), the Base Class
Library, and application framework libraries such as ASP.NET,
Windows Forms, and WPF.
.NET Core
• A cross-platform, high-performance, open source implementation of .NET.
• Includes the Core Common Language Runtime (CoreCLR), the Core AOT Runtime (CoreRT, in development), the Core Base
Class Library (CoreFX), and the Core SDK.
• .NET Core can be thought of as a cross-platform version of the .NET Framework, at the layer of the .NET Framework Base Class
Libraries (BCL). It implements the .NET Standard specification. .NET Core provides a subset of the APIs that are available in the
.NET Framework or Mono/Xamarin.
• Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
• Cross-platform: Runs on Windows, macOS and Linux; can be ported to other operating systems.
• Command-line tools: All product scenarios can be exercised at the command-line.
• Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard.
• Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-
BY. .NET Core is a .NET Foundation project.
• Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support
Xamarin/Mono
• Mono is a .NET implementation that is mainly used when a small
runtime is required.
• It is the runtime that powers Xamarin applications on Android, Mac,
iOS, tvOS and watchOS and is focused primarily on apps that
require a small footprint.
• Historically, Mono implemented the larger API of the .NET
Framework and emulated some of the most popular capabilities on
Unix.
Deep into .NET Core
• .NET Core is a platform made of NuGet packages. Some product experiences
benefit from fine-grained definition of packages while others from coarse-
grained. To accommodate this duality, the product is distributed as a fine-
grained set of packages and then described in coarser chunks with a package
type informally called a "metapackage".
• Each of the .NET Core packages support being run on multiple .NET
implementations, represented as frameworks. Some of those frameworks are
traditional frameworks, like net461, representing the .NET Framework. Another
set is new frameworks that can be thought of as "package-based frameworks",
like netcoreapp2.0, which establish a new model for defining frameworks.
These package-based frameworks are entirely formed and defined as
packages, forming a strong relationship between packages and frameworks.
Packages
• .NET Core is split into a set of packages, which provide primitives, higher-
level data types, app composition types and common utilities. Each of
these packages represent a single assembly of the same name.
• There are advantages to defining packages in a fine-grained manner:
• Fine-grained packages can ship on their own schedule with relatively limited
testing of other packages.
• Fine-grained packages can provide differing OS and CPU support.
• Fine-grained packages can have dependencies specific to only one library.
• Apps are smaller because unreferenced packages don't become part of the app
distribution.
Metapackages
• Metapackages are a NuGet package convention for describing a set of
packages that are meaningful together. They represent this set of packages by
making them dependencies. They can optionally establish a framework for this
set of packages by specifying a framework (Package-based Frameworks).
• NETStandard.Library - Describes the libraries that are part of the ".NET
Standard". Applies to all .NET implementations (for example, .NET Framework,
.NET Core and Mono) that support .NET Standard. Establishes the 'netstandard'
framework.
• Microsoft.NETCore.App - Describes the libraries that are part of the .NET
Core distribution. Establishes the .NETCoreApp framework.
.NET Core SDK
• .NET Core Software Development Kit (SDK) is a set of libraries and
tools that allow developers to create .NET Core applications and
libraries.
• It contains the following components:
• The .NET Core Command Line Tools that are used to build applications
• .NET Core (libraries and runtime) that allow applications to both be built
and run
• The dotnet driver for running the CLI commands as well as running
applications
.NET Core CLI
• The .NET Core command-line interface (CLI) is a new cross-platform
toolchain for developing .NET applications.
• The CLI is a foundation upon which higher-level tools, such as Integrated
Development Environments (IDEs), editors, and build orchestrators, can
rest.
• Basic commands
• restore/build/publish/run/test/pack/clean/help
• Project modification commands
• add package/add reference/remove package/remove reference/list reference
Target frameworks
• The collection of APIs that a .NET app or library relies on.
• An app or library can target a version of .NET Standard (for
example, .NET Standard 2.0), which is specification for a
standardized set of APIs across all .NET implementations.
• An app or library can also target a version of a specific .NET
implementation, in which case it gets access to implementation-
specific APIs. For example, an app that targets Xamarin.iOS gets
access to Xamarin-provided iOS API wrappers.
.NET Standard framework
• The .NET Standard (TFM: netstandard) framework represents the APIs
defined by and built on top of the .NET Standard. Libraries that are
intended to run on multiple runtimes should target this framework.
• They will be supported on any .NET Standard compliant runtime, such as
.NET Core, .NET Framework and Mono/Xamarin. Each of these runtimes
supports a set of .NET Standard versions, depending on which APIs they
implement.
• The netstandard framework implicitly references the NETStandard.Library
metapackage.
.NET Core Application framework
• The .NET Core Application (TFM: netcoreapp) framework represents
the packages and associated APIs that come with the .NET Core
distribution and the console application model that it provides.
• .NET Core apps must use this framework, due to targeting the
console application model, as should libraries that intended to run
only on .NET Core. Using this framework restricts apps and libraries
to running only on .NET Core.
.NET Framework
• The .NET Framework (TFM: net) represents the available APIs
defined by the assemblies that a .NET implementation installs on
Windows platform, which includes application framework APIs (for
example, ASP.NET, WinForms and WPF).
Introduction to ASP.NET Core
• ASP.NET Core is a cross-platform, high-
performance, open-source framework for
building modern, cloud-based, Internet-
connected applications.
• Startup / DI / Middleware / Routing /
Hosting
• Model Binding / Controllers / Views / Filters
• Kestrel (libuv) / IIS (ANCM) / Nginx
// An ASP.NET Core application is a console app that creates a web server in its Main method:
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
namespace aspnetcoreapp
{
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
}
demo
1. console app
2. web
3. webapi
4.mvc
Q & A
Ad

More Related Content

What's hot (19)

Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Lorenz Lo Sauer
 
Introduction to Murasaki
Introduction to MurasakiIntroduction to Murasaki
Introduction to Murasaki
Seiichi Horie
 
Net framework
Net frameworkNet framework
Net framework
Aravindharamanan S
 
.Net framework
.Net framework.Net framework
.Net framework
Arun Pal
 
IncludeOS for ics 2018
IncludeOS for ics 2018IncludeOS for ics 2018
IncludeOS for ics 2018
Per Buer
 
Dotnet interview qa
Dotnet interview qaDotnet interview qa
Dotnet interview qa
abcxyzqaz
 
Docker
DockerDocker
Docker
Charlie Cai
 
Docker basics
Docker basicsDocker basics
Docker basics
Claudio Montoya
 
What is new in .NET 4.5
What is new in .NET 4.5What is new in .NET 4.5
What is new in .NET 4.5
Robert MacLean
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Managing Open Source software in the Docker era
Managing Open Source software in the Docker era Managing Open Source software in the Docker era
Managing Open Source software in the Docker era
nexB Inc.
 
Why Drupal is Rockstar?
Why Drupal is Rockstar?Why Drupal is Rockstar?
Why Drupal is Rockstar?
Gerald Villorente
 
.Net
.Net.Net
.Net
Vignesh k
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
Rakesh Madugula
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
Sagar Dash
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
GlobalLogic Ukraine
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
ActiveState
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
Satria Ady Pradana
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Lorenz Lo Sauer
 
Introduction to Murasaki
Introduction to MurasakiIntroduction to Murasaki
Introduction to Murasaki
Seiichi Horie
 
.Net framework
.Net framework.Net framework
.Net framework
Arun Pal
 
IncludeOS for ics 2018
IncludeOS for ics 2018IncludeOS for ics 2018
IncludeOS for ics 2018
Per Buer
 
Dotnet interview qa
Dotnet interview qaDotnet interview qa
Dotnet interview qa
abcxyzqaz
 
What is new in .NET 4.5
What is new in .NET 4.5What is new in .NET 4.5
What is new in .NET 4.5
Robert MacLean
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Managing Open Source software in the Docker era
Managing Open Source software in the Docker era Managing Open Source software in the Docker era
Managing Open Source software in the Docker era
nexB Inc.
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
Rakesh Madugula
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
Sagar Dash
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
GlobalLogic Ukraine
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
ActiveState
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 

Similar to Introduction to dot net (20)

.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
Amin Mesbahi
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest
 
Difference between .net core and .net framework
Difference between .net core and .net frameworkDifference between .net core and .net framework
Difference between .net core and .net framework
Ansi Bytecode
 
Dot NET Core Interview Questions PDF By ScholarHat
Dot NET Core Interview Questions PDF By ScholarHatDot NET Core Interview Questions PDF By ScholarHat
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
Quick Interview Preparation Dot Net Core
Quick Interview Preparation Dot Net CoreQuick Interview Preparation Dot Net Core
Quick Interview Preparation Dot Net Core
Karmanjay Verma
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
Shoaib Ghachi
 
.NET Core Blimey! (Shropshire Devs Mar 2016)
.NET Core Blimey! (Shropshire Devs Mar 2016).NET Core Blimey! (Shropshire Devs Mar 2016)
.NET Core Blimey! (Shropshire Devs Mar 2016)
citizenmatt
 
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
 
.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester
citizenmatt
 
Dive into .Net Core framework
Dive into .Net Core framework Dive into .Net Core framework
Dive into .Net Core framework
ElifTech
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2
Amin Mesbahi
 
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
mohamed elshafey
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
c#.pptx
c#.pptxc#.pptx
c#.pptx
GokulPadmakumar3
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
Faisal Aziz
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
.Net framework
.Net framework.Net framework
.Net framework
baabtra.com - No. 1 supplier of quality freshers
 
Dotnet1
Dotnet1Dotnet1
Dotnet1
Sudhriti Gupta
 
.Net the begining
.Net the begining.Net the begining
.Net the begining
cncwebworld
 
.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
Amin Mesbahi
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest
 
Difference between .net core and .net framework
Difference between .net core and .net frameworkDifference between .net core and .net framework
Difference between .net core and .net framework
Ansi Bytecode
 
Dot NET Core Interview Questions PDF By ScholarHat
Dot NET Core Interview Questions PDF By ScholarHatDot NET Core Interview Questions PDF By ScholarHat
Dot NET Core Interview Questions PDF By ScholarHat
Scholarhat
 
Quick Interview Preparation Dot Net Core
Quick Interview Preparation Dot Net CoreQuick Interview Preparation Dot Net Core
Quick Interview Preparation Dot Net Core
Karmanjay Verma
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
Shoaib Ghachi
 
.NET Core Blimey! (Shropshire Devs Mar 2016)
.NET Core Blimey! (Shropshire Devs Mar 2016).NET Core Blimey! (Shropshire Devs Mar 2016)
.NET Core Blimey! (Shropshire Devs Mar 2016)
citizenmatt
 
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
 
.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester
citizenmatt
 
Dive into .Net Core framework
Dive into .Net Core framework Dive into .Net Core framework
Dive into .Net Core framework
ElifTech
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2
Amin Mesbahi
 
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
mohamed elshafey
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
Faisal Aziz
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
.Net the begining
.Net the begining.Net the begining
.Net the begining
cncwebworld
 
Ad

Recently uploaded (20)

Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Ad

Introduction to dot net

  • 1. Intro to .NET (Core) 2017-12-20 21:51 ROY <[email protected]>
  • 2. Agenda • .NET • .NET Standard • .NET Framework • .NET Core • Xamarin/Mono • Deep into .NET Core • Packages • Metapackages • .NET Core SDK • .NET Core CLI • Target frameworks • .NET Standard • .NET Core Application • .NET Framework • Introduction to ASP.NET Core
  • 3. .NET • .NET is a free, cross-platform, open source developer platform for building many different types of applications. • With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT. • .NET Framework/.NET Core/Mono (Xamarin) • C#/VB.NET/F# • Assembly/DLL/MSIL • Common Language Runtime (CLR) • GC/JIT • CoreCLR • Base Class Library (BCL) • CoreFX • Framework Class Library (FCL) • ASP.NET/Windows Forms/WPF • ASP.NET Core
  • 4. .NET Standard specification • The .NET Standard is a formal specification of .NET APIs that are intended to be available on all .NET implementations. The motivation behind the .NET Standard is establishing greater uniformity in the .NET ecosystem. • The .NET Standard enables the following key scenarios: • Defines uniform set of BCL APIs for all .NET implementations to implement, independent of workload. • Enables developers to produce portable libraries that are usable across .NET implementations, using this same set of APIs. • Reduces or even eliminates conditional compilation of shared source due to .NET APIs, only for OS APIs.
  • 5. .NET Standard .NET implementation support
  • 6. .NET Framework • An implementation of .NET that runs only on Windows. • Includes the Common Language Runtime (CLR), the Base Class Library, and application framework libraries such as ASP.NET, Windows Forms, and WPF.
  • 7. .NET Core • A cross-platform, high-performance, open source implementation of .NET. • Includes the Core Common Language Runtime (CoreCLR), the Core AOT Runtime (CoreRT, in development), the Core Base Class Library (CoreFX), and the Core SDK. • .NET Core can be thought of as a cross-platform version of the .NET Framework, at the layer of the .NET Framework Base Class Libraries (BCL). It implements the .NET Standard specification. .NET Core provides a subset of the APIs that are available in the .NET Framework or Mono/Xamarin. • Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide. • Cross-platform: Runs on Windows, macOS and Linux; can be ported to other operating systems. • Command-line tools: All product scenarios can be exercised at the command-line. • Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard. • Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC- BY. .NET Core is a .NET Foundation project. • Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support
  • 8. Xamarin/Mono • Mono is a .NET implementation that is mainly used when a small runtime is required. • It is the runtime that powers Xamarin applications on Android, Mac, iOS, tvOS and watchOS and is focused primarily on apps that require a small footprint. • Historically, Mono implemented the larger API of the .NET Framework and emulated some of the most popular capabilities on Unix.
  • 9. Deep into .NET Core • .NET Core is a platform made of NuGet packages. Some product experiences benefit from fine-grained definition of packages while others from coarse- grained. To accommodate this duality, the product is distributed as a fine- grained set of packages and then described in coarser chunks with a package type informally called a "metapackage". • Each of the .NET Core packages support being run on multiple .NET implementations, represented as frameworks. Some of those frameworks are traditional frameworks, like net461, representing the .NET Framework. Another set is new frameworks that can be thought of as "package-based frameworks", like netcoreapp2.0, which establish a new model for defining frameworks. These package-based frameworks are entirely formed and defined as packages, forming a strong relationship between packages and frameworks.
  • 10. Packages • .NET Core is split into a set of packages, which provide primitives, higher- level data types, app composition types and common utilities. Each of these packages represent a single assembly of the same name. • There are advantages to defining packages in a fine-grained manner: • Fine-grained packages can ship on their own schedule with relatively limited testing of other packages. • Fine-grained packages can provide differing OS and CPU support. • Fine-grained packages can have dependencies specific to only one library. • Apps are smaller because unreferenced packages don't become part of the app distribution.
  • 11. Metapackages • Metapackages are a NuGet package convention for describing a set of packages that are meaningful together. They represent this set of packages by making them dependencies. They can optionally establish a framework for this set of packages by specifying a framework (Package-based Frameworks). • NETStandard.Library - Describes the libraries that are part of the ".NET Standard". Applies to all .NET implementations (for example, .NET Framework, .NET Core and Mono) that support .NET Standard. Establishes the 'netstandard' framework. • Microsoft.NETCore.App - Describes the libraries that are part of the .NET Core distribution. Establishes the .NETCoreApp framework.
  • 12. .NET Core SDK • .NET Core Software Development Kit (SDK) is a set of libraries and tools that allow developers to create .NET Core applications and libraries. • It contains the following components: • The .NET Core Command Line Tools that are used to build applications • .NET Core (libraries and runtime) that allow applications to both be built and run • The dotnet driver for running the CLI commands as well as running applications
  • 13. .NET Core CLI • The .NET Core command-line interface (CLI) is a new cross-platform toolchain for developing .NET applications. • The CLI is a foundation upon which higher-level tools, such as Integrated Development Environments (IDEs), editors, and build orchestrators, can rest. • Basic commands • restore/build/publish/run/test/pack/clean/help • Project modification commands • add package/add reference/remove package/remove reference/list reference
  • 14. Target frameworks • The collection of APIs that a .NET app or library relies on. • An app or library can target a version of .NET Standard (for example, .NET Standard 2.0), which is specification for a standardized set of APIs across all .NET implementations. • An app or library can also target a version of a specific .NET implementation, in which case it gets access to implementation- specific APIs. For example, an app that targets Xamarin.iOS gets access to Xamarin-provided iOS API wrappers.
  • 15. .NET Standard framework • The .NET Standard (TFM: netstandard) framework represents the APIs defined by and built on top of the .NET Standard. Libraries that are intended to run on multiple runtimes should target this framework. • They will be supported on any .NET Standard compliant runtime, such as .NET Core, .NET Framework and Mono/Xamarin. Each of these runtimes supports a set of .NET Standard versions, depending on which APIs they implement. • The netstandard framework implicitly references the NETStandard.Library metapackage.
  • 16. .NET Core Application framework • The .NET Core Application (TFM: netcoreapp) framework represents the packages and associated APIs that come with the .NET Core distribution and the console application model that it provides. • .NET Core apps must use this framework, due to targeting the console application model, as should libraries that intended to run only on .NET Core. Using this framework restricts apps and libraries to running only on .NET Core.
  • 17. .NET Framework • The .NET Framework (TFM: net) represents the available APIs defined by the assemblies that a .NET implementation installs on Windows platform, which includes application framework APIs (for example, ASP.NET, WinForms and WPF).
  • 18. Introduction to ASP.NET Core • ASP.NET Core is a cross-platform, high- performance, open-source framework for building modern, cloud-based, Internet- connected applications. • Startup / DI / Middleware / Routing / Hosting • Model Binding / Controllers / Views / Filters • Kestrel (libuv) / IIS (ANCM) / Nginx // An ASP.NET Core application is a console app that creates a web server in its Main method: using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; namespace aspnetcoreapp { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); } }
  • 19. demo 1. console app 2. web 3. webapi 4.mvc
  • 20. Q & A