SlideShare a Scribd company logo
.NET Core 3.0 –
What's New?
christian@christiannagel.com
@christiannagel
https://csharp.christiannagel.com
Topics
C# 8 & .NET Core 3.0
ASP.NET Core 3.0
WPF & .NET Core
Christian Nagel
• Training
• Coaching
• Consulting
• Development
• Microsoft MVP
• www.cninnovation.com
• csharp.christiannagel.com
C# 8 & .NET Core
.NET
Standard 2.1
• Reflection.Emit
• Brotli
• Span, APIs
• DbProviderFactories
• ITuple
Features
C# 8 Features
Not supported by .NET Framework
Smaller C# 8 Features
using declaration
switch expression
more pattern matching
C# 8 – Async Streams
Before C# 8, await could be used to wait for a single
result
IAsyncDisposable, IAsyncEnumerable,
IAsyncEnumerator
foreach and yield extended with async semantics
C# 8 – Indices
and Ranges
• Span<T> allows reference a memory sequence
• Safe code, fast access, no object copy
• .NET Core 2.2 method overloads with spans
• Use C# 8 Ranges to access arrays, strings…
• .NET Core 3.0 faster, e.g. JSonDocument,
Utf8JsonReader, UTF8JsonWriter
C# 8 –
Nullable
Reference
Types
• Reference Types are not nullable anymore
• Get rid of NullReferenceException
• Breaking change
• Opt-in (project, code regions)
Nullability
Annotation Guidance
• .NET Core annotation in progress
• Do annotate all new APIs
• Consider changing the contracts if there's a
different de facto use
• Do continue to validate arguments
• Do not remove existing argument validation
• Avoid making changes while annotating
unless it's a bug fix
• some?.Method()
• https://github.com/dotnet/corefx/blob/ma
ster/Documentation/api-
guidelines/nullability.md
ASP.NET Core 3
Demos ASP.NET
Core
ASP.NET Core
3
• Generic host in Templates
• Service configuration simplified
• Endpoint Routing
• SignalR Client-to-Server Streaming
• JSON Serialization
• Worker Service Template
• gRPC Template
Blazor
• Components for the Web
• Based on Syntax of Razor Pages
• Client-Side Components make use of
WebAssembly
• Server-Side Components communicate via SignalR
• Server-Side Components released with .NET Core 3
• Client-Side Components released with a later .NET
Core 3 version
WPF and .NET Core Does WPF have a
future?
WPF (.NET
Framework) &
Windows
Runtime
WPF App
• Use Some Windows Runtime APIs
Packaging (Desktop Bridge)
• Use more Windows Runtime APIs
App-Service WPF – UWP
• Desktop Bridge & App Service
• Use all Windows Runtime APIs
XAML Islands
UWP Controls for WPF & Windows Forms
Wrappers for Ink, Map, Media
Create your own!
Windows Community Tookit
WPF & .NET
Core
New Project File
All C# 8 & .NET Core Features
Use the Windows Runtime
Side-by-side Runtime
Self-contained Exes
Interop
Use the Portability
Analyzer
Windows
Compatibility Pack
COM Interop
coming
WPF only runs on
Windows!
Summary
• C# 8 & .NET Core
• ASP.NET Core
• WPF & .NET Core
Questions?
Actions
• Use C# 8
• Annotate your applications & libraries
• Use .NET Core 3
• Prepare for ASP.NET Core 3
• Be open for new application models
• Use the portability analyzer for WPF
• WPF & .NET Core
• https://github.com/christiannagel
• https://csharp.christiannagel.com
• https://docs.microsoft.com
• https://github.com/windows-toolkit/
• https://github.com/dotnet/
A BIG thank you to local sponsors!
Another BIG thank you to the 2019 Global Sponsors!
The European SharePoint, Office 365 & Azure Conference
4 Days 2,500 Delegates 150+ Sessions 120 Speakers
Microsoft Azure Keynote, 40 Azure Sessions, Azure Full Day Tutorials, Expert Global
Azure Speakers
Use code GABLz for 10% discount on all tickets
www.sharepointeurope.com

More Related Content

PDF
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
Christian Nagel
 
PDF
C# 8 and .NET Core 3
Christian Nagel
 
PDF
C# 8 in Libraries and Applications
Christian Nagel
 
PDF
Async streams
Christian Nagel
 
PDF
Entity Framework Core 1.x/2.x Advanced
Christian Nagel
 
PDF
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
PDF
Azure App Configuration with .NET applications
Christian Nagel
 
KEY
UPenn on Rails intro
Mat Schaffer
 
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
Christian Nagel
 
C# 8 and .NET Core 3
Christian Nagel
 
C# 8 in Libraries and Applications
Christian Nagel
 
Async streams
Christian Nagel
 
Entity Framework Core 1.x/2.x Advanced
Christian Nagel
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
Azure App Configuration with .NET applications
Christian Nagel
 
UPenn on Rails intro
Mat Schaffer
 

What's hot (20)

PPTX
Domain Specific Development using T4
Joubin Najmaie
 
PPTX
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
PDF
RubyConf Taiwan 2016 - Large scale Rails applications
Florian Dutey
 
PDF
RubyConf China 2015 - Rails off assets pipeline
Florian Dutey
 
PDF
LINEデリマでのElasticsearchの運用と監視の話
LINE Corporation
 
PPTX
Porting ASP.NET applications to Windows Azure
Gunnar Peipman
 
PPTX
TypeScript and Angular2 (Love at first sight)
Igor Talevski
 
PDF
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
DevDay Da Nang
 
PDF
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
DevDay Da Nang
 
PDF
Clovaを支える技術 機械学習配信基盤のご紹介
LINE Corporation
 
PDF
AWS as a code - using ansible
serkancapkan
 
PPTX
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Waldek Mastykarz
 
PPTX
ASP.NET Core - Phillosophies, Processes and Tooling
💻 Spencer Schneidenbach
 
PPTX
Net developer days presentation
Alexandre Malavasi
 
PDF
The Python in the Apple
zeroSteiner
 
PPTX
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
PPTX
Testing Testing everywhere
Antonio Robres Turon
 
PPTX
Whats new in .net for 2019
Rory Preddy
 
PPTX
Building solutions with the SharePoint Framework - introduction
Waldek Mastykarz
 
PPTX
Mvc razor and working with data
Vladislav Hadzhiyski
 
Domain Specific Development using T4
Joubin Najmaie
 
From .NET Core 3, all the rest will be legacy
Rick van den Bosch
 
RubyConf Taiwan 2016 - Large scale Rails applications
Florian Dutey
 
RubyConf China 2015 - Rails off assets pipeline
Florian Dutey
 
LINEデリマでのElasticsearchの運用と監視の話
LINE Corporation
 
Porting ASP.NET applications to Windows Azure
Gunnar Peipman
 
TypeScript and Angular2 (Love at first sight)
Igor Talevski
 
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
DevDay Da Nang
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
DevDay Da Nang
 
Clovaを支える技術 機械学習配信基盤のご紹介
LINE Corporation
 
AWS as a code - using ansible
serkancapkan
 
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Waldek Mastykarz
 
ASP.NET Core - Phillosophies, Processes and Tooling
💻 Spencer Schneidenbach
 
Net developer days presentation
Alexandre Malavasi
 
The Python in the Apple
zeroSteiner
 
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
Testing Testing everywhere
Antonio Robres Turon
 
Whats new in .net for 2019
Rory Preddy
 
Building solutions with the SharePoint Framework - introduction
Waldek Mastykarz
 
Mvc razor and working with data
Vladislav Hadzhiyski
 
Ad

Similar to .NET Core 3.0 - What's new? (20)

PPTX
C#: Past, Present and Future
Rodolfo Finochietti
 
PPTX
Asp.net and .Net Framework ppt presentation
abhishek singh
 
PPTX
ASP.NET Core: The best of the new bits
Ken Cenerelli
 
PDF
Net coreandsimplcommerce
Thien Nguyen Le Quynh
 
PPTX
.NET & C# Updates Fall 2019
Marco Parenzan
 
PPTX
.NET Core Today and Tomorrow
Jon Galloway
 
PPTX
.Net: Introduction, trends and future
Bishnu Rawal
 
PPTX
Unboxing ASP.NET Core
Kevin Leung
 
PPTX
What's New in .Net 4.5
Malam Team
 
PPTX
ASP.NET 5 - Microsoft's Web development platform reimagined
Alex Thissen
 
PPTX
Porting Projects to .NET 5
Immo Landwerth
 
PDF
Workspace on asp.net web aplication development
KBA Systems
 
PDF
Workspace on asp.net web aplication development
KBA Systems
 
PDF
Introduction to ASP.NET MVC
Sirwan Afifi
 
PPT
.Net framework
sanya6900
 
PDF
Asp.Net 3 5 Part 1
asim78
 
PPTX
Mini .net conf 2020
Marco Parenzan
 
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
PPTX
ASP.NET 5 Overview: Post RTM
Shahed Chowdhuri
 
C#: Past, Present and Future
Rodolfo Finochietti
 
Asp.net and .Net Framework ppt presentation
abhishek singh
 
ASP.NET Core: The best of the new bits
Ken Cenerelli
 
Net coreandsimplcommerce
Thien Nguyen Le Quynh
 
.NET & C# Updates Fall 2019
Marco Parenzan
 
.NET Core Today and Tomorrow
Jon Galloway
 
.Net: Introduction, trends and future
Bishnu Rawal
 
Unboxing ASP.NET Core
Kevin Leung
 
What's New in .Net 4.5
Malam Team
 
ASP.NET 5 - Microsoft's Web development platform reimagined
Alex Thissen
 
Porting Projects to .NET 5
Immo Landwerth
 
Workspace on asp.net web aplication development
KBA Systems
 
Workspace on asp.net web aplication development
KBA Systems
 
Introduction to ASP.NET MVC
Sirwan Afifi
 
.Net framework
sanya6900
 
Asp.Net 3 5 Part 1
asim78
 
Mini .net conf 2020
Marco Parenzan
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
ASP.NET 5 Overview: Post RTM
Shahed Chowdhuri
 
Ad

More from Christian Nagel (16)

PDF
C# 9 and 10 - What's cool?
Christian Nagel
 
PDF
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
Christian Nagel
 
PDF
Gemeinsame View-Models mit XAML Technologien
Christian Nagel
 
PDF
Adaptive Cards - User Interfaces with JSON
Christian Nagel
 
PDF
Reference Semantik mit C# und .NET Core - BASTA 2019
Christian Nagel
 
PDF
C# What's next? (7.x and 8.0)
Christian Nagel
 
PDF
C# 7.x What's new and what's coming with C# 8
Christian Nagel
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
PDF
Desktop Bridge with WPF - One way to build modern apps with WPF
Christian Nagel
 
PDF
Reference Semantics with C# and .NET Core
Christian Nagel
 
PDF
C# - What's next
Christian Nagel
 
PDF
Business Apps with the Universal Windows Platform
Christian Nagel
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
PDF
Was is Docker? Or: Docker for Software Developers
Christian Nagel
 
PDF
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Christian Nagel
 
PDF
C# - What's Next?
Christian Nagel
 
C# 9 and 10 - What's cool?
Christian Nagel
 
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
Christian Nagel
 
Gemeinsame View-Models mit XAML Technologien
Christian Nagel
 
Adaptive Cards - User Interfaces with JSON
Christian Nagel
 
Reference Semantik mit C# und .NET Core - BASTA 2019
Christian Nagel
 
C# What's next? (7.x and 8.0)
Christian Nagel
 
C# 7.x What's new and what's coming with C# 8
Christian Nagel
 
Blazor - The New Silverlight?
Christian Nagel
 
Desktop Bridge with WPF - One way to build modern apps with WPF
Christian Nagel
 
Reference Semantics with C# and .NET Core
Christian Nagel
 
C# - What's next
Christian Nagel
 
Business Apps with the Universal Windows Platform
Christian Nagel
 
Blazor - The New Silverlight?
Christian Nagel
 
Was is Docker? Or: Docker for Software Developers
Christian Nagel
 
Moderne Business Apps mit XAML - oder mit WPF für die Zukunft geplant
Christian Nagel
 
C# - What's Next?
Christian Nagel
 

Recently uploaded (20)

PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Exploring AI Agents in Process Industries
amoreira6
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Presentation about variables and constant.pptx
safalsingh810
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 

.NET Core 3.0 - What's new?

  • 1. .NET Core 3.0 – What's New? [email protected] @christiannagel https://csharp.christiannagel.com
  • 2. Topics C# 8 & .NET Core 3.0 ASP.NET Core 3.0 WPF & .NET Core
  • 3. Christian Nagel • Training • Coaching • Consulting • Development • Microsoft MVP • www.cninnovation.com • csharp.christiannagel.com
  • 4. C# 8 & .NET Core
  • 5. .NET Standard 2.1 • Reflection.Emit • Brotli • Span, APIs • DbProviderFactories • ITuple Features C# 8 Features Not supported by .NET Framework
  • 6. Smaller C# 8 Features using declaration switch expression more pattern matching
  • 7. C# 8 – Async Streams Before C# 8, await could be used to wait for a single result IAsyncDisposable, IAsyncEnumerable, IAsyncEnumerator foreach and yield extended with async semantics
  • 8. C# 8 – Indices and Ranges • Span<T> allows reference a memory sequence • Safe code, fast access, no object copy • .NET Core 2.2 method overloads with spans • Use C# 8 Ranges to access arrays, strings… • .NET Core 3.0 faster, e.g. JSonDocument, Utf8JsonReader, UTF8JsonWriter
  • 9. C# 8 – Nullable Reference Types • Reference Types are not nullable anymore • Get rid of NullReferenceException • Breaking change • Opt-in (project, code regions)
  • 10. Nullability Annotation Guidance • .NET Core annotation in progress • Do annotate all new APIs • Consider changing the contracts if there's a different de facto use • Do continue to validate arguments • Do not remove existing argument validation • Avoid making changes while annotating unless it's a bug fix • some?.Method() • https://github.com/dotnet/corefx/blob/ma ster/Documentation/api- guidelines/nullability.md
  • 13. ASP.NET Core 3 • Generic host in Templates • Service configuration simplified • Endpoint Routing • SignalR Client-to-Server Streaming • JSON Serialization • Worker Service Template • gRPC Template
  • 14. Blazor • Components for the Web • Based on Syntax of Razor Pages • Client-Side Components make use of WebAssembly • Server-Side Components communicate via SignalR • Server-Side Components released with .NET Core 3 • Client-Side Components released with a later .NET Core 3 version
  • 15. WPF and .NET Core Does WPF have a future?
  • 16. WPF (.NET Framework) & Windows Runtime WPF App • Use Some Windows Runtime APIs Packaging (Desktop Bridge) • Use more Windows Runtime APIs App-Service WPF – UWP • Desktop Bridge & App Service • Use all Windows Runtime APIs
  • 17. XAML Islands UWP Controls for WPF & Windows Forms Wrappers for Ink, Map, Media Create your own! Windows Community Tookit
  • 18. WPF & .NET Core New Project File All C# 8 & .NET Core Features Use the Windows Runtime Side-by-side Runtime Self-contained Exes
  • 19. Interop Use the Portability Analyzer Windows Compatibility Pack COM Interop coming WPF only runs on Windows!
  • 20. Summary • C# 8 & .NET Core • ASP.NET Core • WPF & .NET Core
  • 22. Actions • Use C# 8 • Annotate your applications & libraries • Use .NET Core 3 • Prepare for ASP.NET Core 3 • Be open for new application models • Use the portability analyzer for WPF • WPF & .NET Core • https://github.com/christiannagel • https://csharp.christiannagel.com • https://docs.microsoft.com • https://github.com/windows-toolkit/ • https://github.com/dotnet/
  • 23. A BIG thank you to local sponsors!
  • 24. Another BIG thank you to the 2019 Global Sponsors!
  • 25. The European SharePoint, Office 365 & Azure Conference 4 Days 2,500 Delegates 150+ Sessions 120 Speakers Microsoft Azure Keynote, 40 Azure Sessions, Azure Full Day Tutorials, Expert Global Azure Speakers Use code GABLz for 10% discount on all tickets www.sharepointeurope.com