|
| 1 | +--- |
| 2 | +title: Learn to upgrade from ASP.NET MVC, Web API, and Web Forms to ASP.NET Core |
| 3 | +description: Learn how to upgrade ASP.NET Framework MVC, Web API, or Web Forms projects to ASP.NET Core using migration tooling |
| 4 | +author: rick-anderson |
| 5 | +ms.author: riande |
| 6 | +ms.date: 06/20/2025 |
| 7 | +uid: migration/tooling |
| 8 | +--- |
| 9 | +# Use tooling to help migrate ASP.NET Framework to ASP.NET Core |
| 10 | + |
| 11 | +:::moniker range=">= aspnetcore-7.0" |
| 12 | + |
| 13 | +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/inc/overview) approach. |
| 14 | + |
| 15 | + |
| 16 | + > [!WARNING] |
| 17 | + > There is a Copilot-enabled tool for staying current on modern .NET, but is not currently enabled for migrating ASP.NET Frameworkt to ASP.NET Core. Please see the documentation for [GitHub Copilot app modernization - Upgrade for .NET]> (https://learn.microsoft.com/en-us/dotnet/core/porting/github-copilot-app-modernization-overview) for details. |
| 18 | +
|
| 19 | +## Prerequisites |
| 20 | + |
| 21 | +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/inc/start#upgrade-supporting-libraries). |
| 22 | + |
| 23 | + |
| 24 | +1. Install the [.NET Upgrade Assistant](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.upgradeassistant) Visual Studio extension. |
| 25 | +1. Open your ASP.NET Framework solution in Visual Studio. |
| 26 | +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. |
| 27 | +1. For the upgrade target, select **New project**. |
| 28 | +1. Name the project and select the appropriate template: |
| 29 | + |
| 30 | + > [!NOTE] |
| 31 | + > **For MVC projects:** Select **ASP.NET Core MVC** template. |
| 32 | + > |
| 33 | + > **For Web API projects:** Select **ASP.NET Core Web API** template. |
| 34 | + > |
| 35 | + > **For MVC + Web API projects:** Select **ASP.NET Core MVC** template. |
| 36 | + > |
| 37 | + > **For Web Forms projects:** Select **ASP.NET Core** template. |
| 38 | +
|
| 39 | +1. Select **Next** |
| 40 | +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). |
| 41 | + |
| 42 | + > [!NOTE] |
| 43 | + > **For Web Forms projects:** Select **Done** instead of **Next**, then proceed to step 9. |
| 44 | +
|
| 45 | +1. Review the **Summary of changes**, then select **Finish**. |
| 46 | +1. The **Summary** step displays **`<Framework Project>` is now connected to `<Framework ProjectCore>` via Yarp proxy.** |
| 47 | + |
| 48 | + > [!NOTE] |
| 49 | + > **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**. |
| 50 | +
|
| 51 | +:::moniker-end |
| 52 | + |
| 53 | +[!INCLUDE[](~/migration/mvc/includes/mvc6.md)] |
0 commit comments