SlideShare ist ein Scribd-Unternehmen logo
1 von 50
.NET Core
Andreas Erben (MVP)
Andreas Lehmann (Cloud Soultion Architect)
Damir Dobric (Azure MVP, MS Regional Director)
Jon Gallowey (Executive Director .NET foundation)
Mofaggol Hoshen (University of Applied Sciences Frankfurt)
Speakers
AGENDA
16.15 – 16.30 Keynote (Damir Dobric)
16.30 - 18.00 DotNet Core Deep Dive (Damir Dobric)
18.00 - 18.30 DotNET UI (Andreas Lehmann)
18.30 - 19.00 .NET Foundation and .NET Standard (Jon Galloway)
19.00 - 19.15 Break
19.15 - 19.30 .NET Core ML (Mofaggol Hoshen)
19.30 - 20.00 .NET HoloLens (Andreas Erben)
20.00 - 20.05 Recap (Damir Dobric)
20.05 - 21.00 Come Together
• .NET Core Intro
• Creating .NET Core Framework Dependent Applications
• Creating .NET Core Self Contained Applications
• .NET Core and Docker
• Creating UI with .NET Core
• .NET Foundation
• .NET Standard and runtimes
• Machine Learning with .NET Core
• HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core
AGENDA
.NET Core is a general purpose development platform
with cross-platform support for
Windows, macOS and Linux, various devices and cloud
“any platform, any application, any developer”
Roadmap: https://github.com/dotnet/core/blob/master/roadmap.md
OSs: https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md
compilers
tools
Inside of .NET Core
runtime
libraries
host
Where to start?https://dotnet.github.io
https://www.microsoft.com/net/download/core
C:Program Filesdotnet
Creating and Running .NET Core applications
dotnet new console
dotnet restore
dotnet build
dotnet run
Frameworks and Runtimes
 Target Frameworks
 https://docs.microsoft.com/en-us/dotnet/standard/frameworks
 Target Runtimes
 Used to identify target platforms where the application runs
https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
Building, Packaging and
Deployment
Types of Deployment
 Framework Dependent
 Net Core Framework must be installed on the machine
 Small application footprint
 Framework Independent
 Net Core framework does not have to be installed
 Framework is installed (xcopy) with application binaries
 Bigger footprint
 Every application can use any kind of framework
Framework Dependent Application
 dotnet restore
 dotnet build
 dotnet pack
 dotnet publish -f netcoreapp2.0 -c Debug
Publish output
Framework Independent Application
dotnet publish -r win10-x64 --self-contained
<RuntimeIdentifiers>
win10-x64;osx.10.11-x64;debian-x64
</RuntimeIdentifiers>
Publish output
Deploying to Docker Container
## Remote into image
docker run -ti --entrypoint /bin/sh YOUR_IMAGE
dotnet publish -r debian-x64 -f netcoreapp2.0
## Build Framework Independent application
docker build --build-arg EXE_DIR=./bin/Debug/netcoreapp2.0/debian-x64/publish -t sample:1.1 .
## Build Framework Independent application
Referencing .NET Desktop
Creating UI with .NET Core
Andreas Lehmann
Cloud Solution Architect
daenet GmbH
UI with .NET Core?
 UI == Desktop UI
 No implementation from Microsoft
 Is there any platform independent graphics library?
Take a look at SKIA
 Skia Graphics Library
 Skia is an open source 2D graphics library which provides common APIs that work across a
variety of hardware and software platforms. It serves as the graphics engine for Google
Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.
 -> https://skia.org/
 How to use it in .NET Core?
 SkiaSharp is a GitHub project to use SKIA within .NET Core / .NET Standard
 -> https://github.com/mono/SkiaSharp
From 2D API to Desktop UI
 How to build Desktop UI from a 2D graphics API?
 AvaloniaUI
 A multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi-
platform. It supports XAML, lookless controls and a flexible styling system, and runs on
Windows using Direct2D and other operating systems using Skia and OS-specific
windowing backend (GTK, Cocoa, etc.)
 -> https://github.com/AvaloniaUI/Avalonia
 Supports .NET Core
Avalonia UI in action
 Sample Desktop UI with .NET Core
 Running on Linux
Getting started
 Most of this is in Alpha state (do not use for productive use cases)
 Check out the sample app
-> https://github.com/kekekeks/avalonia-net-core-example
 Read statement from Scott Hanselman about Avalonia
-> https://www.hanselman.com/blog/WhatWouldACrossplatformNETUIFrameworkLookLikeExploringAvalonia.aspx
.NET Standard
What is .NET Standard?
The .NET Standard is an API spec that describes
the consistent set of .NET APIs that developers
can expect in each .NET implementation
https://github.com/dotnet/standard/blob/master/docs/versions.md
.NET Standard
 PCL is common lowest
denominator
 Standard is replacement for PCL
Which standard should I support?
1.0 2.0
NumberofAPIs
NumberofApplications
1.1 1.2 1.3 1.4 1.5 1.6
.NET Standard
API Browser
https://apisof.net
Cross Referencing
 netstandard 2.0 -> netstandard 1.1,..,1.6
 net461 -> netstandard 2.0
error CS0012: The type 'Object' is defined in an assembly that is not
referenced. You must add a reference to assembly 'netstandard,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
 Net452 -> netstandard 2.0
error : Project “NetCoreLib2.csproj' targets '.NETStandard,Version=v2.0’.
It cannot be referenced by a project that targets
'.NETFramework,Version=v4.5.2’.
Unit Testing
Unit testing with XUnit
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
Unit testing with MSTest
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.1.11" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.11" />
</ItemGroup>
Test Execution
 dotnet test -h
 dotnet test --list-tests
 Execute specific tests
 dotnet test --filter "MessageOnly_LogsCorrectValues“
 dotnet test --filter Message -v d
 dotnet test --filter Message -v n
 dotnet test --filter Message -v d
 dotnet test --filter Message –filter ”Priority = 1”
Machine Learning with .NET Core
Mofaggol Hoshen
University of Applied Sciences Frankfurt am Main
ML with :NET ?
• Accord framework and OpenCv or EmguCv do not
support .NET Core
• Lack of .NET Core api
Learning Api
• Learning API is Machine Learning Foundation of useful libraries.
• Implemented in .NET Core.
• It provides a unique processing API for Machine Learning solutions.
• Git:
https://github.com/UniversityOfAppliedSciencesFrankfurt/LearningA
pi
• Supervised by : Damir Dobric
Learning Api architectural concept
Learning Api
Data Provider Math
Normalizers
ML Algorithms
Gauss MinMax
Others ..
LearningApi Pipelines
Demo
HoloLens, Unity3D, and .NET – a Mixed
Reality with sprinkles of .NET Core
Andreas Erben
daenet corporation
Microsoft Most Valuable Professional
Migration of .NET to .NET Core
API PORT ANALYZER
https://github.com/Microsoft/dotnet-apiport/
apiport analyze -f AddTokenGenDotNet.exe
RECAP
.NET Core
http://developers.de
Twitter:
#azuremeetupfrankfurt
@ddobric

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
Ashish Verma
 

Was ist angesagt? (20)

.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
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
Docker
DockerDocker
Docker
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Basics of Vue.js 2019
Basics of Vue.js 2019Basics of Vue.js 2019
Basics of Vue.js 2019
 
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin	Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
 
.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
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
Node js Introduction
Node js IntroductionNode js Introduction
Node js Introduction
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
DevOps @ OpenShift Online
DevOps @ OpenShift OnlineDevOps @ OpenShift Online
DevOps @ OpenShift Online
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdf
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
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
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 

Ähnlich wie Net core

Android on IA devices and Intel Tools
Android on IA devices and Intel ToolsAndroid on IA devices and Intel Tools
Android on IA devices and Intel Tools
Xavier Hallade
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
Gregory Renard
 

Ähnlich wie Net core (20)

20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Key Steps in Developing .NET Core Applications
Key Steps in Developing .NET Core ApplicationsKey Steps in Developing .NET Core Applications
Key Steps in Developing .NET Core Applications
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
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 platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
.NET Everywhere and for Everyone
.NET Everywhere and for Everyone.NET Everywhere and for Everyone
.NET Everywhere and for Everyone
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
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
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saber
 
آموزش سی شارپ - بخش 1
آموزش سی شارپ - بخش 1آموزش سی شارپ - بخش 1
آموزش سی شارپ - بخش 1
 
Mini .net conf 2020
Mini .net conf 2020Mini .net conf 2020
Mini .net conf 2020
 
Nodejs Native Add-Ons from zero to hero
Nodejs Native Add-Ons from zero to heroNodejs Native Add-Ons from zero to hero
Nodejs Native Add-Ons from zero to hero
 
Android on IA devices and Intel Tools
Android on IA devices and Intel ToolsAndroid on IA devices and Intel Tools
Android on IA devices and Intel Tools
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 

Mehr von Damir Dobric

Mehr von Damir Dobric (20)

Tools fuer ki and ml
Tools fuer ki and mlTools fuer ki and ml
Tools fuer ki and ml
 
Ai zum anfassen
Ai zum anfassenAi zum anfassen
Ai zum anfassen
 
Introduction to Cosmos db
Introduction to Cosmos dbIntroduction to Cosmos db
Introduction to Cosmos db
 
Ai zum anfassen
Ai zum anfassenAi zum anfassen
Ai zum anfassen
 
AI for developers
AI for developersAI for developers
AI for developers
 
Microservices and modern backends - Azure Meetup Frankfurt
Microservices and modern backends  - Azure Meetup FrankfurtMicroservices and modern backends  - Azure Meetup Frankfurt
Microservices and modern backends - Azure Meetup Frankfurt
 
Building Applications for HoloLens
Building Applications for HoloLensBuilding Applications for HoloLens
Building Applications for HoloLens
 
IoT Ultimate Session
IoT Ultimate SessionIoT Ultimate Session
IoT Ultimate Session
 
Moderne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodellModerne backends mit dem aktor programmiermodell
Moderne backends mit dem aktor programmiermodell
 
IoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and AzureIoT with UWP, .NETCore and Azure
IoT with UWP, .NETCore and Azure
 
Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015Microsoft Io TechCamp Frankfurt am Main 2015
Microsoft Io TechCamp Frankfurt am Main 2015
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Azure Machine Learning Intro
Azure Machine Learning IntroAzure Machine Learning Intro
Azure Machine Learning Intro
 
Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.Internet of Things, Cloud & Co.
Internet of Things, Cloud & Co.
 
Internet of Things & Co.
Internet of Things & Co.Internet of Things & Co.
Internet of Things & Co.
 
IoT, connecting apps, devices and services
IoT, connecting apps, devices and servicesIoT, connecting apps, devices and services
IoT, connecting apps, devices and services
 
Connecting Apps, Devices and Services
Connecting Apps, Devices and ServicesConnecting Apps, Devices and Services
Connecting Apps, Devices and Services
 
Distributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow ManagerDistributed systems witth Service Bus and Workflow Manager
Distributed systems witth Service Bus and Workflow Manager
 
WinDays 2013 KeyNote Slides
WinDays 2013 KeyNote SlidesWinDays 2013 KeyNote Slides
WinDays 2013 KeyNote Slides
 
Notification hubs mobility day 2013
Notification hubs mobility day 2013Notification hubs mobility day 2013
Notification hubs mobility day 2013
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Net core

  • 2. Andreas Erben (MVP) Andreas Lehmann (Cloud Soultion Architect) Damir Dobric (Azure MVP, MS Regional Director) Jon Gallowey (Executive Director .NET foundation) Mofaggol Hoshen (University of Applied Sciences Frankfurt) Speakers
  • 3. AGENDA 16.15 – 16.30 Keynote (Damir Dobric) 16.30 - 18.00 DotNet Core Deep Dive (Damir Dobric) 18.00 - 18.30 DotNET UI (Andreas Lehmann) 18.30 - 19.00 .NET Foundation and .NET Standard (Jon Galloway) 19.00 - 19.15 Break 19.15 - 19.30 .NET Core ML (Mofaggol Hoshen) 19.30 - 20.00 .NET HoloLens (Andreas Erben) 20.00 - 20.05 Recap (Damir Dobric) 20.05 - 21.00 Come Together
  • 4. • .NET Core Intro • Creating .NET Core Framework Dependent Applications • Creating .NET Core Self Contained Applications • .NET Core and Docker • Creating UI with .NET Core • .NET Foundation • .NET Standard and runtimes • Machine Learning with .NET Core • HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core AGENDA
  • 5.
  • 6. .NET Core is a general purpose development platform with cross-platform support for Windows, macOS and Linux, various devices and cloud
  • 7. “any platform, any application, any developer”
  • 9. compilers tools Inside of .NET Core runtime libraries host
  • 12. Creating and Running .NET Core applications dotnet new console dotnet restore dotnet build dotnet run
  • 13. Frameworks and Runtimes  Target Frameworks  https://docs.microsoft.com/en-us/dotnet/standard/frameworks  Target Runtimes  Used to identify target platforms where the application runs https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
  • 15. Types of Deployment  Framework Dependent  Net Core Framework must be installed on the machine  Small application footprint  Framework Independent  Net Core framework does not have to be installed  Framework is installed (xcopy) with application binaries  Bigger footprint  Every application can use any kind of framework
  • 16. Framework Dependent Application  dotnet restore  dotnet build  dotnet pack  dotnet publish -f netcoreapp2.0 -c Debug
  • 18. Framework Independent Application dotnet publish -r win10-x64 --self-contained <RuntimeIdentifiers> win10-x64;osx.10.11-x64;debian-x64 </RuntimeIdentifiers>
  • 20. Deploying to Docker Container ## Remote into image docker run -ti --entrypoint /bin/sh YOUR_IMAGE dotnet publish -r debian-x64 -f netcoreapp2.0 ## Build Framework Independent application docker build --build-arg EXE_DIR=./bin/Debug/netcoreapp2.0/debian-x64/publish -t sample:1.1 . ## Build Framework Independent application
  • 22. Creating UI with .NET Core Andreas Lehmann Cloud Solution Architect daenet GmbH
  • 23. UI with .NET Core?  UI == Desktop UI  No implementation from Microsoft  Is there any platform independent graphics library?
  • 24. Take a look at SKIA  Skia Graphics Library  Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.  -> https://skia.org/  How to use it in .NET Core?  SkiaSharp is a GitHub project to use SKIA within .NET Core / .NET Standard  -> https://github.com/mono/SkiaSharp
  • 25. From 2D API to Desktop UI  How to build Desktop UI from a 2D graphics API?  AvaloniaUI  A multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi- platform. It supports XAML, lookless controls and a flexible styling system, and runs on Windows using Direct2D and other operating systems using Skia and OS-specific windowing backend (GTK, Cocoa, etc.)  -> https://github.com/AvaloniaUI/Avalonia  Supports .NET Core
  • 26. Avalonia UI in action  Sample Desktop UI with .NET Core  Running on Linux
  • 27. Getting started  Most of this is in Alpha state (do not use for productive use cases)  Check out the sample app -> https://github.com/kekekeks/avalonia-net-core-example  Read statement from Scott Hanselman about Avalonia -> https://www.hanselman.com/blog/WhatWouldACrossplatformNETUIFrameworkLookLikeExploringAvalonia.aspx
  • 29. What is .NET Standard? The .NET Standard is an API spec that describes the consistent set of .NET APIs that developers can expect in each .NET implementation https://github.com/dotnet/standard/blob/master/docs/versions.md
  • 30. .NET Standard  PCL is common lowest denominator  Standard is replacement for PCL
  • 31. Which standard should I support? 1.0 2.0 NumberofAPIs NumberofApplications 1.1 1.2 1.3 1.4 1.5 1.6
  • 32.
  • 35. Cross Referencing  netstandard 2.0 -> netstandard 1.1,..,1.6  net461 -> netstandard 2.0 error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.  Net452 -> netstandard 2.0 error : Project “NetCoreLib2.csproj' targets '.NETStandard,Version=v2.0’. It cannot be referenced by a project that targets '.NETFramework,Version=v4.5.2’.
  • 37. Unit testing with XUnit <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="xunit" Version="2.2.0" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> </ItemGroup>
  • 38. Unit testing with MSTest <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="MSTest.TestAdapter" Version="1.1.11" /> <PackageReference Include="MSTest.TestFramework" Version="1.1.11" /> </ItemGroup>
  • 39. Test Execution  dotnet test -h  dotnet test --list-tests  Execute specific tests  dotnet test --filter "MessageOnly_LogsCorrectValues“  dotnet test --filter Message -v d  dotnet test --filter Message -v n  dotnet test --filter Message -v d  dotnet test --filter Message –filter ”Priority = 1”
  • 40. Machine Learning with .NET Core Mofaggol Hoshen University of Applied Sciences Frankfurt am Main
  • 41. ML with :NET ? • Accord framework and OpenCv or EmguCv do not support .NET Core • Lack of .NET Core api
  • 42. Learning Api • Learning API is Machine Learning Foundation of useful libraries. • Implemented in .NET Core. • It provides a unique processing API for Machine Learning solutions. • Git: https://github.com/UniversityOfAppliedSciencesFrankfurt/LearningA pi • Supervised by : Damir Dobric
  • 43. Learning Api architectural concept Learning Api Data Provider Math Normalizers ML Algorithms Gauss MinMax Others ..
  • 45. Demo
  • 46. HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core Andreas Erben daenet corporation Microsoft Most Valuable Professional
  • 47. Migration of .NET to .NET Core
  • 49. RECAP