Strategiewechsel bei Microsoft
- Open Source
- Agilität
- Modularisierung
- Cross-Platform
- Zielgruppen
Das mdoerne .NET im Überblick
- Die .NET "Core"-Strategie
- Unterschiede klassisches .NET Framework (CLR) und modernes .NET Core /.NET (Core CLR)
- Vor- und Nachteile von .NET gegenüber .NET Framework
- Platformen: Windows, Linux, macOS, iOS, Android, Web/Browser
- Verfügbare Versionen von .NET, Aktualisierungszyklen, Semantic Versioning
- Support von .NET: Long-Termin-Support vs. Current Version
- Programmiersprachen für .NET (C#, Visual Basic .NET und F# sowie C++/CLI)
- Verbesserungen in CLR, Just-in-Time-Compiler und Garbage Collector
- Ausblick auf kommende .NET-Versionen
Überblick über die Anwendungsarten im modernen .NET (Vertiefung nach Wunsch)
- Desktop-Anwendungen mit WPF und Windows Forms sowie Windows UI Library 3
- Webserver-Anwendungen mit ASP.NET Core
- Single-Page-Web-Applications (SPA) mit ASP.NET Blazor
- WebAPIs mit ASP.NET Core
- Systemdienste (Windows Services / systemd)
- Google RPC-Dienste
- Konsolenanwendungen
Neuerungen in C#
- Neuerungen in C# 8.0
- Neuerungen in C# 9.0
- Neuerungen in C# 10.0
- Neuerungen in C# 11.0
- Neuerungen in C# 12.0
- Neuerungen in C# 13.0
.NET SDK und andere Werkzeuge für das moderne .NET
- Das neue Projektformat im modernen .NET
- Werkzeuge in Visual Studio für das moderne .NET
- Die neuen Kommandozeilenwerkzeuge
- DOTNET CLI (dotnet.exe)
- crossgen.exe
- .NET IL Linker (Trimming/Tree Shaking)
- Paketverwaltung mit NuGet, Vermeidung der Pakethölle
- Neuerungen in Visual Studio für das moderne .NET
- Hot Reloading
- optional: Visual Studio Code als Alternative zu Visual Studio
Klassenbibliotheken im modernen .NET
- .NET Standard
- Funktionen und Klassen aus .NET, die es im modernen .NET nicht mehr gibt
- Neue Klassen im modernen .NET
- Windows Compatibility Pack (WCP)
- Austauschbarkeit von Bibliotheken (Assemblies, DLLs) zwischen .NET, .NET Core und Mono
- Interoperabilität mit Win32-APIs, COM und WinRT
Testen von modernen .NET-Anwendungen
- Unterstützte Unit Test-Frameworks
- Testwerkzeuge
Deployment von modernen .NET-Anwendungen
- Framework-dependent Deployment (FDD) / Portable Application (PA)
- Self-contained Deployment (SCD) / Self-contained Application (SCA)
- Single File Publish
- Assembly Linker (IL Linker)
- Ready to Run Images (R2R)
- Windows Application Packaging (MSIX)
- Deployment auf lokale Systeme
- Deployment in die Azure-Cloud
- Navtive AOT-Compiler
Migration vom klassischen .NET Framework zum modernen .NET
- Herausforderungen
- Migrationswerkzeuge
- .NET Portability Analyzer, Try-Convert, .NET Upgrade Assistant
- Aufwand für verschiedene Migrationsszenarien
- Migrationsleitpfaden
Migrationsszenarien
- WPF zu WPF Core
- Windows Forms zu Windows Forms Core
- ASP.NET zu ASP.NET Core
- Entity Framework zu Entity Framework Core
- WCF zu CoreWCF
- WCF zu gRPC
- Andere Optionen nach Absprache
Optional: Umstellung Ihrer Anwendungen auf das moderne .NET (setzt vorherige Einarbeitung in Ihre Anwendungen voraus)