Skip to content
ballmüllersolutions logo Send an email Call us

Modernization: WinForms/WPF to .NET 10, the web and Azure

Move a grown desktop program to .NET 10 in small, safe steps, bring it to the web and to Azure, and run old and new side by side until the old one is switched off.

Join the waiting list

Who it is for

For developers who maintain or inherit Windows Forms or WPF programs, and for teams that have to keep developing such a program without rewriting it all at once.

Prerequisites

K2 level (C#, ASP.NET Core, Entity Framework Core, Blazor, sign-in) and the Azure basics, Bicep and CI/CD from K3 (modules 3.1, 3.2, 3.7). Windows with Visual Studio; you need an Azure account only for the optional Azure steps.

Afterward, you can

  • Take stock of an existing program, find its seams and justify an order of modernization
  • Move a Windows Forms program from .NET Framework to .NET 10 with a safety net of tests
  • Separate business logic and data access from the forms and share the database between old and new
  • Replace the forms step by step with a web API and Blazor pages, also inside the Windows program
  • Carry Windows sign-in, permissions and secrets over to Microsoft Entra ID, roles and Key Vault
  • Run old and new side by side with a pilot group and feature switches, observe them and switch the old program off cleanly

Contents

  1. M1

    Taking stock

    why and when not, the example order book, inventory, slicing and order by the strangler fig pattern

    8 h
  2. M2

    First onto .NET 10

    safety net, project format and target framework, missing APIs and packages, configuration and startup, checking and shipping

    12 h
  3. M3

    Separating business logic and data

    logic out of the forms, from DataSet to EF Core, one database for old and new, Azure SQL

    10 h
  4. M4

    Web API and Blazor, page by page

    web API from the library, the Windows program as a client, first Blazor page, Blazor inside the Windows program, printing and files

    14 h
  5. M5

    Sign-in, permissions, secrets

    from Windows sign-in to Microsoft Entra ID, permissions and data views, Key Vault and managed identity

    8 h
  6. M6

    To Azure and running side by side

    shipping to Azure, dual running, pilot group and feature switches, observing both worlds, switching off and tearing down

    10 h
  7. M7

    Final project

    plan, carry out, operate and report on a further block of functions

    10 h

About 72 hours in all (indicative).

Lessons

You see the text and video of every lesson here on the site after buying the course; the titles and goals are already shown. A self-study course: you work through the lessons in order and check your exercises yourself against the solutions.

You can read the first module (M1) for free, with text and video, without signing in: so you see how the course works before you buy.

The lessons are only in German for now.

The lessons stand under their modules, in the order of the course. Click a module to open or close its lessons.

M1 Taking stock

Indicative: 8 hours · 4 lessonsfree to read
  1. Lesson 1 · about 60 minutes

    Warum modernisieren, und wann besser nicht

  2. Lesson 3 · about 75 minutes

    Inventur: was steckt im Programm

M2 First onto .NET 10

Indicative: 12 hours · 5 lessons
  1. Lesson 5 · about 75 minutes

    Das Sicherheitsnetz zuerst

  2. Lesson 6 · about 90 minutes

    Projektformat und Zielframework

  3. Lesson 7 · about 90 minutes

    Fehlende APIs und Pakete

  4. Lesson 8 · about 75 minutes

    Konfiguration und Start

M3 Separating business logic and data

Indicative: 10 hours · 4 lessons
  1. Lesson 10 · about 90 minutes

    Fachlogik aus den Formularen lösen

  2. Lesson 13 · about 75 minutes

    Die Datenbank nach Azure SQL

M4 Web API and Blazor, page by page

Indicative: 14 hours · 5 lessons
  1. Lesson 14 · about 90 minutes

    Die Web-API aus der Logikbibliothek

  2. Lesson 15 · about 90 minutes

    Das Windows-Programm als Client der API

  3. Lesson 18 · about 90 minutes

    Drucken, Dateien und Berichte im Web

M5 Sign-in, permissions, secrets

Indicative: 8 hours · 3 lessons

M6 To Azure and running side by side

Indicative: 10 hours · 5 lessons
  1. Lesson 22 · about 90 minutes

    Die neue Anwendung nach Azure bringen

  2. Lesson 23 · about 75 minutes

    Doppelbetrieb: wer schreibt wohin

  3. Lesson 24 · about 75 minutes

    Pilotgruppe und Feature-Schalter

  4. Lesson 25 · about 75 minutes

    Beide Welten beobachten

  5. Lesson 26 · about 90 minutes

    Abschalten und Rückbau

M7 Final project

Indicative: 10 hours · 3 lessons
  1. Lesson 27 · about 120 minutes

    Das Abschlussprojekt planen

  2. Lesson 28 · about 360 minutes

    Das Abschlussprojekt umsetzen

  3. Lesson 29 · about 120 minutes

    Betreiben, bewerten, abschließen

Final project: the Kladde

What the Kladde can do after this course

The order book of a made-up building-services company: a Windows Forms program you build yourself in the course and then modernize step by step. It does not replace the Kladde and does not build on it.

At the end the order book runs on .NET 10 with tested business logic, data in Azure SQL, a web API and Blazor pages, sign-in through Microsoft Entra ID and a plan for switching the old program off. Staff read the final project.

More about the Kladde

Certifications

Microsoft offers no exam of its own for modernizing existing programs.

Keep learning with Microsoft Learn

Microsoft's learning paths and documentation that go with this course.

All courses at a glance