The document outlines an agenda for a .NET Core event. It includes keynote speeches and sessions on topics like .NET Core fundamentals, creating user interfaces with .NET Core, the .NET Foundation, machine learning with .NET Core, and using HoloLens with .NET Core. Speakers include experts from Microsoft and elsewhere. The agenda covers introductory content in the early time slots followed by more specialized topics, with time for breaks and networking.
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
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
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
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 ..