From ea8fd621b43560596bfad69932e088476fb7049a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 02:34:08 +0000 Subject: [PATCH 1/7] Initial plan From 672b415d04c84b4a159a6a4e28b7e4922c818c66 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 02:37:44 +0000 Subject: [PATCH 2/7] Replace Upgrade Assistant content with GitHub Copilot app modernization guidance Co-authored-by: wadepickett <10985336+wadepickett@users.noreply.github.com> --- aspnetcore/migration/fx-to-core/index.md | 2 +- aspnetcore/migration/fx-to-core/start.md | 4 +- aspnetcore/migration/fx-to-core/tooling.md | 45 ++++++---------------- 3 files changed, 14 insertions(+), 37 deletions(-) diff --git a/aspnetcore/migration/fx-to-core/index.md b/aspnetcore/migration/fx-to-core/index.md index 2798d07abe45..63e7ee9b81b9 100644 --- a/aspnetcore/migration/fx-to-core/index.md +++ b/aspnetcore/migration/fx-to-core/index.md @@ -90,4 +90,4 @@ Incremental migration is an implementation of the Strangler Fig pattern and is b ## In place migration -In place migration can work for sufficiently small applications. If possible, this allows for a quick replacement of the application. However, small issues may be compounded if you decide to do an in place migration. See to learn how Upgrade Assistant can help with an in place migration. +In place migration can work for sufficiently small applications. If possible, this allows for a quick replacement of the application. However, small issues may be compounded if you decide to do an in place migration. See for information on migration tooling options. diff --git a/aspnetcore/migration/fx-to-core/start.md b/aspnetcore/migration/fx-to-core/start.md index f48c841af4f9..0b6d7427b220 100644 --- a/aspnetcore/migration/fx-to-core/start.md +++ b/aspnetcore/migration/fx-to-core/start.md @@ -147,7 +147,7 @@ Depending on your application, you may also need to address: **Upgrade process for each library:** -If you have supporting libraries in your solution that you will need to use for the routes you're migrating, they should be upgraded to .NET Standard 2.0, if possible. [Upgrade Assistant](https://github.com/dotnet/upgrade-assistant) is a great tool for this. If libraries are unable to target .NET Standard, you can target .NET 8 or later either along with the .NET Framework target in the original project or in a new project alongside the original. +If you have supporting libraries in your solution that you will need to use for the routes you're migrating, they should be upgraded to .NET Standard 2.0, if possible. If libraries are unable to target .NET Standard, you can target .NET 8 or later either along with the .NET Framework target in the original project or in a new project alongside the original. The [System.Web adapters](~/migration/fx-to-core/inc/systemweb-adapters.md) can be used in these libraries to enable support for usage in class libraries. In order to enable usage in a library: @@ -155,7 +155,7 @@ The [System.Web adapters](~/migration/fx-to-core/inc/systemweb-adapters.md) can 2. Add the `Microsoft.AspNetCore.SystemWebAdapters` package 3. Enable multi-targeting and add a .NET 8 target or later, or convert the project to .NET Standard 2.0. -This step may require a number of projects to change depending on your solution structure and which routes you're migrating. Upgrade Assistant can help you identify which ones need to change and automate a number of steps in the process. +This step may require a number of projects to change depending on your solution structure and which routes you're migrating. ## Next Steps diff --git a/aspnetcore/migration/fx-to-core/tooling.md b/aspnetcore/migration/fx-to-core/tooling.md index ed1d3a0e0c23..ab66f8d5ac7e 100644 --- a/aspnetcore/migration/fx-to-core/tooling.md +++ b/aspnetcore/migration/fx-to-core/tooling.md @@ -1,47 +1,24 @@ --- -title: Learn to upgrade from ASP.NET MVC, Web API, and Web Forms to ASP.NET Core -description: Learn how to upgrade ASP.NET Framework MVC, Web API, or Web Forms projects to ASP.NET Core using migration tooling +ai-usage: ai-assisted author: wadepickett +description: Learn how to upgrade ASP.NET Framework MVC, Web API, or Web Forms projects to ASP.NET Core using migration tooling. ms.author: wpickett -ms.date: 07/17/2025 +ms.date: 12/04/2025 +title: Learn to upgrade from ASP.NET MVC, Web API, and Web Forms to ASP.NET Core uid: migration/fx-to-core/tooling --- # Use tooling to help migrate ASP.NET Framework to ASP.NET Core -This article shows how to upgrade ASP.NET Framework applications (MVC, Web API, and Web Forms) to ASP.NET Core using the Visual Studio [.NET Upgrade Assistant](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.upgradeassistant) and the [incremental update](xref:migration/fx-to-core/index) approach. +> [!IMPORTANT] +> .NET Upgrade Assistant is officially deprecated. Use the [GitHub Copilot app modernization chat agent](/dotnet/core/porting/github-copilot-app-modernization/overview) instead, which is included with Visual Studio 2026 and Visual Studio 2022 17.14.16 or later. This agent analyzes your projects and dependencies, produces a step-by-step migration plan with targeted recommendations and automated code fixes, and commits each change so you can validate or roll back. It automates common porting tasks—updating project files, replacing deprecated APIs, and resolving build issues—so you can modernize faster with less manual effort. +This article provides guidance on how to upgrade ASP.NET Framework applications (MVC, Web API, and Web Forms) to ASP.NET Core. - > [!WARNING] - > There is a Copilot-enabled tool for staying current on modern .NET, but is not currently enabled for migrating ASP.NET Framework to ASP.NET Core. Please see the documentation for [GitHub Copilot app modernization - Upgrade for .NET](/dotnet/core/porting/github-copilot-app-modernization-overview) for details. - -## Prerequisites +To learn how to upgrade your ASP.NET apps using the recommended tooling, see [How to upgrade a .NET app with GitHub Copilot app modernization](/dotnet/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot). If your .NET Framework project has supporting libraries in the solution that are required, they should be upgraded to .NET Standard 2.0, if possible. For more information, see [Upgrade supporting libraries](xref:migration/fx-to-core/start#upgrade-supporting-libraries). +## See also -1. Install the [.NET Upgrade Assistant](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.upgradeassistant) Visual Studio extension. -1. Open your ASP.NET Framework solution in Visual Studio. -1. In **Solution Explorer**, right click on the project to upgrade and select **Upgrade**. Select **Side-by-side incremental project upgrade**, which is the only upgrade option. -1. For the upgrade target, select **New project**. -1. Name the project and select the most appropriate template. If your solution includes multiple project types, you may add the required services later: - - > [!NOTE] - > **For MVC projects:** Select **ASP.NET Core MVC** template. - > - > **For Web API projects:** Select **ASP.NET Core Web API** template. - > - > **For MVC + Web API projects:** Select **ASP.NET Core MVC** template. - > - > **For Web Forms projects:** Select **ASP.NET Core** template. - -1. Select **Next** -1. Select the target framework version and then select **Next**. For more information, see [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core). - - > [!NOTE] - > **For Web Forms projects:** Select **Done** instead of **Next**, then proceed to step 9. - -1. Review the **Summary of changes**, then select **Finish**. -1. The **Summary** step displays **`` is now connected to `` via Yarp proxy.** - - > [!NOTE] - > **For MVC and Web API projects:** The summary includes a pie chart showing the migrated endpoints. Select **Upgrade Controller** and then select a controller to upgrade. Select the component to upgrade, then select **Upgrade selection**. +* [GitHub Copilot app modernization overview](/dotnet/core/porting/github-copilot-app-modernization/overview) +* [How to upgrade a .NET app with GitHub Copilot app modernization](/dotnet/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot) From 7b08ad5ee1c846b419edcd45a0f357c4855efe61 Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Thu, 4 Dec 2025 10:46:07 -0800 Subject: [PATCH 3/7] Update upgrade process for supporting libraries Added a reference to GitHub Copilot app modernization for library upgrades. --- aspnetcore/migration/fx-to-core/start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/migration/fx-to-core/start.md b/aspnetcore/migration/fx-to-core/start.md index 0b6d7427b220..cebe2cbb754c 100644 --- a/aspnetcore/migration/fx-to-core/start.md +++ b/aspnetcore/migration/fx-to-core/start.md @@ -147,7 +147,7 @@ Depending on your application, you may also need to address: **Upgrade process for each library:** -If you have supporting libraries in your solution that you will need to use for the routes you're migrating, they should be upgraded to .NET Standard 2.0, if possible. If libraries are unable to target .NET Standard, you can target .NET 8 or later either along with the .NET Framework target in the original project or in a new project alongside the original. +If you have supporting libraries in your solution that you will need to use for the routes you're migrating, they should be upgraded to .NET Standard 2.0, if possible. [GitHub Copilot app modernization](/dotnet/core/porting/github-copilot-app-modernization/overview) can help you with this. If libraries are unable to target .NET Standard, you can target .NET 8 or later either along with the .NET Framework target in the original project or in a new project alongside the original. The [System.Web adapters](~/migration/fx-to-core/inc/systemweb-adapters.md) can be used in these libraries to enable support for usage in class libraries. In order to enable usage in a library: From d988a2fca6172d1529f257131a2c6c0a4258ad0c Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Thu, 4 Dec 2025 10:49:23 -0800 Subject: [PATCH 4/7] Enhance migration instructions with GitHub Copilot reference Added a reference to GitHub Copilot app modernization for assistance in identifying project changes during migration. --- aspnetcore/migration/fx-to-core/start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/migration/fx-to-core/start.md b/aspnetcore/migration/fx-to-core/start.md index cebe2cbb754c..2932aeccd605 100644 --- a/aspnetcore/migration/fx-to-core/start.md +++ b/aspnetcore/migration/fx-to-core/start.md @@ -155,7 +155,7 @@ The [System.Web adapters](~/migration/fx-to-core/inc/systemweb-adapters.md) can 2. Add the `Microsoft.AspNetCore.SystemWebAdapters` package 3. Enable multi-targeting and add a .NET 8 target or later, or convert the project to .NET Standard 2.0. -This step may require a number of projects to change depending on your solution structure and which routes you're migrating. +This step may require a number of projects to change depending on your solution structure and which routes you're migrating. [GitHub Copilot app modernization](/dotnet/core/porting/github-copilot-app-modernization/overview) can help you identify which ones need to change and automate a number of steps in the process. ## Next Steps From a65cb0b3da8a340825bb41891da56defddfb1789 Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Thu, 4 Dec 2025 11:04:11 -0800 Subject: [PATCH 5/7] Update ms.date for ASP.NET Core guide --- aspnetcore/migration/fx-to-core/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/migration/fx-to-core/index.md b/aspnetcore/migration/fx-to-core/index.md index 63e7ee9b81b9..310ba538d220 100644 --- a/aspnetcore/migration/fx-to-core/index.md +++ b/aspnetcore/migration/fx-to-core/index.md @@ -3,7 +3,7 @@ title: Migrate from ASP.NET Framework to ASP.NET Core author: wadepickett description: Your complete guide to migrating ASP.NET Framework applications to ASP.NET Core, with practical approaches and step-by-step guidance. ms.author: wpickett -ms.date: 11/10/2025 +ms.date: 12/04/2025 uid: migration/fx-to-core/index --- # Migrate from ASP.NET Framework to ASP.NET Core From ebd8a84c1c1d026d3d597dca8259ec3e8bc6bf91 Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Thu, 4 Dec 2025 11:05:01 -0800 Subject: [PATCH 6/7] Update ms.date date in start.md --- aspnetcore/migration/fx-to-core/start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/migration/fx-to-core/start.md b/aspnetcore/migration/fx-to-core/start.md index 2932aeccd605..8b9b89b1a610 100644 --- a/aspnetcore/migration/fx-to-core/start.md +++ b/aspnetcore/migration/fx-to-core/start.md @@ -4,7 +4,7 @@ description: Get started with incremental ASP.NET to ASP.NET Core migration author: wadepickett ms.author: wpickett monikerRange: '>= aspnetcore-6.0' -ms.date: 07/17/2025 +ms.date: 12/04/2025 ms.topic: article uid: migration/fx-to-core/start --- From b775a60f30a60c8978b46297ca46e74cd39cdefd Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Thu, 4 Dec 2025 11:06:35 -0800 Subject: [PATCH 7/7] Update tooling.md --- aspnetcore/migration/fx-to-core/tooling.md | 1 - 1 file changed, 1 deletion(-) diff --git a/aspnetcore/migration/fx-to-core/tooling.md b/aspnetcore/migration/fx-to-core/tooling.md index ab66f8d5ac7e..8041349b5381 100644 --- a/aspnetcore/migration/fx-to-core/tooling.md +++ b/aspnetcore/migration/fx-to-core/tooling.md @@ -21,4 +21,3 @@ If your .NET Framework project has supporting libraries in the solution that are ## See also * [GitHub Copilot app modernization overview](/dotnet/core/porting/github-copilot-app-modernization/overview) -* [How to upgrade a .NET app with GitHub Copilot app modernization](/dotnet/core/porting/github-copilot-app-modernization/how-to-upgrade-with-github-copilot)