Modernisierung: WinForms/WPF nach .NET 10, Web und Azure
Ein gewachsenes Desktop-Programm in kleinen, abgesicherten Schritten auf .NET 10 heben, ins Web und nach Azure bringen und alt und neu nebeneinander betreiben, bis das alte abgeschaltet wird.
Für wen
Für Entwicklerinnen und Entwickler, die Windows-Forms- oder WPF-Programme pflegen oder erben, und für Teams, die ein solches Programm weiterentwickeln müssen, ohne es auf einmal neu zu schreiben.
Voraussetzungen
K2-Niveau (C#, ASP.NET Core, Entity Framework Core, Blazor, Anmeldung) und die Azure-Grundlagen, Bicep und CI/CD aus K3 (Module 3.1, 3.2, 3.7). Windows mit Visual Studio; ein Azure-Konto brauchen Sie nur für die freiwilligen Azure-Schritte.
Danach können Sie
- Ein vorhandenes Programm inventarisieren, Nähte finden und eine Reihenfolge der Modernisierung begründen
- Ein Windows-Forms-Programm von .NET Framework auf .NET 10 heben, mit einem Sicherheitsnetz aus Tests
- Fachlogik und Datenzugriff aus den Formularen lösen und die Datenbank für alt und neu gemeinsam nutzen
- Eine Web-API und Blazor-Seiten Schritt für Schritt an die Stelle der Formulare setzen, auch im Windows-Programm
- Windows-Anmeldung, Rechte und Geheimnisse auf Microsoft Entra ID, Rollen und Key Vault übertragen
- Alt und neu mit Pilotgruppe und Feature-Schalter betreiben, beobachten und das alte Programm sauber abschalten
Inhalte
- M1
8 h
Bestandsaufnahme
Warum und wann nicht, das Beispiel Auftragsbuch, Inventur, Schnitt und Reihenfolge nach dem Strangler-Fig-Muster
- M2
12 h
Zuerst auf .NET 10
Sicherheitsnetz, Projektformat und Zielframework, fehlende APIs und Pakete, Konfiguration und Start, Prüfen und Ausliefern
- M3
10 h
Fachlogik und Daten herauslösen
Logik aus den Formularen, von DataSet zu EF Core, eine Datenbank für alt und neu, Azure SQL
- M4
14 h
Web-API und Blazor, Seite für Seite
Web-API aus der Bibliothek, das Windows-Programm als Client, erste Blazor-Seite, Blazor im Windows-Programm, Drucken und Dateien
- M5
8 h
Anmelden, Rechte, Geheimnisse
Von der Windows-Anmeldung zu Microsoft Entra ID, Rechte und Datensicht, Key Vault und Managed Identity
- M6
10 h
Nach Azure und nebeneinander betreiben
Ausliefern nach Azure, Doppelbetrieb, Pilotgruppe und Feature-Schalter, beide Welten beobachten, Abschalten und Rückbau
- M7
10 h
Abschlussprojekt
Einen weiteren Funktionsblock planen, umsetzen, betreiben und mit einem Bericht abschließen
Zusammen rund 72 Stunden (Richtwert).
Lektionen
Text und Video jeder Lektion sehen Sie nach dem Kauf hier auf der Seite; Titel und Ziele stehen schon jetzt da. Ein Selbstlernkurs: Sie arbeiten die Lektionen der Reihe nach durch und prüfen Ihre Übungen selbst an den Lösungen.
Das erste Modul (M1) können Sie kostenlos lesen, mit Text und Video, ohne Anmeldung: so sehen Sie vor dem Kauf, wie der Kurs arbeitet.
Die Lektionen stehen unter ihren Modulen, in der Reihenfolge des Kurses. Ein Klick auf ein Modul öffnet oder schließt seine Lektionen.
M1 Bestandsaufnahme
Richtwert: 8 Stunden · 4 Lektionenkostenlos lesen
Lektion 1 · etwa 60 Minuten
Warum modernisieren, und wann besser nicht
Lektion 2 · etwa 90 Minuten
Das Beispiel: das Auftragsbuch von Brandt Haustechnik
Lektion 3 · etwa 75 Minuten
Inventur: was steckt im Programm
Lektion 4 · etwa 75 Minuten
Schnitt und Reihenfolge: das Strangler-Fig-Muster
M2 Zuerst auf .NET 10
Richtwert: 12 Stunden · 5 Lektionen
Lektion 5 · etwa 75 Minuten
Das Sicherheitsnetz zuerst
Lektion 6 · etwa 90 Minuten
Projektformat und Zielframework
Lektion 7 · etwa 90 Minuten
Fehlende APIs und Pakete
Lektion 8 · etwa 75 Minuten
Konfiguration und Start
Lektion 9 · etwa 75 Minuten
Es läuft auf .NET 10: prüfen und ausliefern
M3 Fachlogik und Daten herauslösen
Richtwert: 10 Stunden · 4 Lektionen
Lektion 10 · etwa 90 Minuten
Fachlogik aus den Formularen lösen
Lektion 11 · etwa 90 Minuten
Von DataSet und ADO.NET zu Entity Framework Core
Lektion 12 · etwa 90 Minuten
Eine Datenbank für alt und neu: die Schutzschicht
Lektion 13 · etwa 75 Minuten
Die Datenbank nach Azure SQL
M4 Web-API und Blazor, Seite für Seite
Richtwert: 14 Stunden · 5 Lektionen
Lektion 14 · etwa 90 Minuten
Die Web-API aus der Logikbibliothek
Lektion 15 · etwa 90 Minuten
Das Windows-Programm als Client der API
Lektion 16 · etwa 90 Minuten
Die erste Seite in Blazor: die Auftragsliste
Lektion 17 · etwa 75 Minuten
Blazor-Seiten im Windows-Programm: die Brücke
Lektion 18 · etwa 90 Minuten
Drucken, Dateien und Berichte im Web
M5 Anmelden, Rechte, Geheimnisse
Richtwert: 8 Stunden · 3 Lektionen
Lektion 19 · etwa 90 Minuten
Von der Windows-Anmeldung zu Microsoft Entra ID
Lektion 20 · etwa 75 Minuten
Rechte übertragen: Rollen, Richtlinien, Datensicht
Lektion 21 · etwa 90 Minuten
Geheimnisse und Verbindungen: Key Vault und Managed Identity
M6 Nach Azure und nebeneinander betreiben
Richtwert: 10 Stunden · 5 Lektionen
Lektion 22 · etwa 90 Minuten
Die neue Anwendung nach Azure bringen
Lektion 23 · etwa 75 Minuten
Doppelbetrieb: wer schreibt wohin
Lektion 24 · etwa 75 Minuten
Pilotgruppe und Feature-Schalter
Lektion 25 · etwa 75 Minuten
Beide Welten beobachten
Lektion 26 · etwa 90 Minuten
Abschalten und Rückbau
M7 Abschlussprojekt
Richtwert: 10 Stunden · 3 Lektionen
Lektion 27 · etwa 120 Minuten
Das Abschlussprojekt planen
Lektion 28 · etwa 360 Minuten
Das Abschlussprojekt umsetzen
Lektion 29 · etwa 120 Minuten
Betreiben, bewerten, abschließen
Abschlussprojekt: die Kladde
Was die Kladde nach diesem Kurs kann
Das Auftragsbuch einer erfundenen Haustechnik-Firma: ein Windows-Forms-Programm, das Sie im Kurs selbst aufbauen und dann Schritt für Schritt modernisieren. Es ersetzt die Kladde dieses Kurses nicht und baut nicht an ihr weiter.
Am Ende läuft das Auftragsbuch auf .NET 10 mit getesteter Fachlogik, Daten in Azure SQL, Web-API und Blazor-Seiten, Anmeldung über Microsoft Entra ID und einem Plan, wie das alte Programm abgeschaltet wird. Das Abschlussprojekt lesen Mitarbeitende.
Zertifizierungen
Microsoft bietet für die Modernisierung vorhandener Programme keine eigene Prüfung an.
Weiterlernen mit Microsoft Learn
Lernpfade und Dokumentation von Microsoft passend zu diesem Kurs, auf Microsoft Learn meist auch auf Deutsch.