Skip to content

Commit ed90df5

Browse files
Add WPF/WinForms upgrade-vs-rebuild decision guide to ai-modernize.md (#6657)
* Add WPF/WinForms upgrade-vs-rebuild decision guide to ai-modernize.md Adds a 'Should I upgrade in place or rebuild with WinUI 3?' decision table near the top of the WPF/WinForms section, covering: - Upgrade in place (.NET 9+) via Copilot App Modernization agent - Add Windows App SDK features without framework change (winapp CLI) - Rebuild with WinUI 3 (Copilot migration + wpf-patterns-winui3.md) - LOB apps with WCF/COM: upgrade-first strategy Closes dotnet/docs-desktop#2218 (superseded by this approach — WinUI 3 rebuild path lives in Windows docs; .NET upgrade path belongs in docs-desktop alongside issues #2165/#2166). Co-authored-by: Copilot <[email protected]> * Address Copilot feedback on ai-modernize.md decision table - Fix 'two distinct paths' -> 'a few distinct paths' (table has 4 rows) - Clarify 'Rebuild with WinUI 3' row: lead with WPF-specific API mapping, note the UWP migration link is UWP-specific but workflow is similar - Soften LOB row: 'handles' -> 'can assist with' WCF/EF/ASP.NET upgrades - Standardize terminology: 'Copilot Modernization agent' -> 'GitHub Copilot App Modernization agent' Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 3a46124 commit ed90df5

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

hub/apps/windows-app-sdk/migrate-to-windows-app-sdk/ai-modernize.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Modernize or port a Windows app with GitHub Copilot
33
description: Use GitHub Copilot, the WinUI 3 migration plugin, and winapp CLI to migrate UWP apps to WinUI 3, modernize WPF/WinForms apps, and add Windows features to cross-platform apps.
44
ms.topic: how-to
5-
ms.date: 03/10/2026
5+
ms.date: 04/17/2026
66
ms.author: jken
77
author: GrantMeStrength
88
keywords: windows, github copilot, uwp migration, winui 3, wpf, winforms, modernization, winapp cli
@@ -72,6 +72,20 @@ Copilot handles most namespace remapping and straightforward API substitutions w
7272

7373
## Modernize a WPF or WinForms app
7474

75+
### Should I upgrade in place or rebuild with WinUI 3?
76+
77+
Before you start, it's worth deciding which direction makes sense for your app. There are a few distinct paths with different tooling and scope.
78+
79+
| Your situation | Recommended path |
80+
|---|---|
81+
| Keep WPF or WinForms as your UI framework, move to .NET 9+ | **Upgrade in place** — use the [GitHub Copilot App Modernization agent](https://aka.ms/copilot-app-modernization) to automate the project file and code changes |
82+
| Add modern Windows features (notifications, AI, shell integration) to your existing app without changing the UI framework | **Add Windows App SDK features** — see the scenarios below; use winapp CLI to add package identity if needed |
83+
| Need modern Fluent UI, touch support, WinRT depth, or a fresh codebase | **Rebuild with WinUI 3** — see [WPF patterns in WinUI 3](wpf-patterns-winui3.md) for API mapping; for a Copilot-assisted approach see [Migrate a UWP app to WinUI 3](#migrate-a-uwp-app-to-winui-3) (UWP-specific, but the Copilot workflow is similar) |
84+
| LOB app with WCF, COM, or heavy third-party UI controls | **Upgrade in place first**, then modernize incrementally — the [GitHub Copilot App Modernization agent](https://aka.ms/copilot-app-modernization) can assist with WCF → CoreWCF, EF, and ASP.NET Core upgrades |
85+
86+
> [!NOTE]
87+
> "Upgrade" (moving to a newer .NET version on the same UI framework) and "rebuild" (moving to WinUI 3) are separate decisions. You can upgrade now and rebuild later, or do both together for a greenfield replacement. The GitHub Copilot App Modernization agent covers the upgrade path; the sections below cover adding Windows App SDK features to your existing app.
88+
7589
WPF and WinForms apps can adopt Windows App SDK features without a full rewrite. Copilot + the Learn MCP Server makes it easy to find and integrate specific features.
7690

7791
### Add push notifications

0 commit comments

Comments
 (0)