.NET on AWS Blog
Modernize ASP.NET MVC Razor UI with AWS Transform
AWS Transform is an agentic service that accelerates modernization, including .NET applications. With it, you can transform .NET Framework Windows applications to cross-platform .NET and reduce operating costs up to 40% by running on Linux. For ASP.NET web applications, AWS Transform can port the UI layer to ASP.NET Core. In this post, I’ll explain how to transform ASP.NET MVC projects with Razor Views UI to modern .NET.
The ASP.NET MVC Razor Views engine is supported on both ASP.NET and ASP.NET Core, so you can remain on the same UI framework when modernizing (“apples to apples” porting). However, there are some differences that require code changes, including the following:
- ASP.NET MVC Razor Views use the
System.Web.Mvcnamespace and are closely tied to the .NET Framework. - ASP.NET Core Razor Views are modular, built on
Microsoft.AspNetCore.Mvc, with improved dependency injection. - ASP.NET Core has new features, including Tag Helpers and View Components.
In the walkthrough that follows, I’ll review the steps to transform MVC Music Store, a public MVC Razor sample, from ASP.NET to ASP.NET Core using AWS Transform in Visual Studio 2026. When we’re done, we’ll have transformed the .NET Framework 4 web application to ASP.NET Core on .NET 10, including the Razor Views UI layer.
Walkthrough
Prerequisites
To follow along and perform the walkthrough on your own machine, be sure you have the following:
- A Windows development machine.
- Visual Studio 2026 is installed.
- AWS Toolkit is installed from Visual Studio Marketplace (if already installed, confirm you are on the latest version).
- AWS Transform setup is complete.
- An IAM Identity Center user credential for AWS Transform.
Step 1: Setup
In this step, you’ll download the sample application and get familiar with it.
- Download the MVC Music Store sample from aws-samples/dotnet-modernization-music-store.
- Open the solution in Visual Studio.
- Confirm the MvcMusicStore project is a .NET Framework 4 project, and that it builds, as shown in Figure 1.
Figure 1: MVC Music Store in Visual Studio
- Start the app with F5 or Debug > Start Debugging to see its appearance and behavior, then stop debugging. It should look like Figure 2.
Figure 2: Music Store running in browser
Step 2: Sign in to AWS Transform
Next, we’ll sign in to AWS Transform.
- From the Visual Studio menu, select Extensions > AWS Transform > Getting Started.
- On the AWS Transform panel, sign-in to AWS Transform with your IAM Identity Center credential. Once you complete sign-in, Connected with IAM Identity Center should appear in the panel, as shown in Figure 3.
Figure 3: Signed in to AWS Transform
Step 3: Transform the application
Now we’re ready to transform. Let’s get a transformation job started.
- Open a .cs code file from the solution in the code editor, such as
HomeController.cs. - In Solution Explorer, right-click the MvcMusicStore project and choose Port project with AWS Transform.
- On the Port project dialog, shown in Figure 4, create or choose a workspace and set the .NET target to net10.0.
Figure 4: Port project dialog
- Choose Start to begin the transformation. You’ll soon see a notification at the top confirming that a transformation job is in progress, as shown in Figure 5. Job progress will be shown in the AWS Transform Hub pane.
Figure 5: Transformation job started
- After a few minutes, AWS Transform will ask if you want to review a transformation plan. Choose Continue with Transformation.
- As the code is transformed, monitor transformation progress and view details in the AWS Transform Hub window, shown in Figure 6.
Figure 6: AWS Transformation Hub
- Wait for the transformation to complete. When it finishes, a Your transformation is completed notification will appear at the top of Visual Studio, shown in Figure 7.
Figure 7: Transformation complete
Step 4: Review the transformation report
Let’s understand what AWS Transform did, and why.
- Choose View code transformation summary and then Download transformation report.
- Open the HTML transformation report and review the description of what changed, shown in Figure 8. In our case, we see UI-related changes under the MVC Framework and View Rendering sections.
Figure 8: Transformation Report
- Choose View code transformation summary and then View diffs. A list of file changes appears.
- Review the file changes to see what was added, removed, and modified. Give special attention to modifications to the .cshtml files. For example, in
_Layout.cshtml,Html.RenderActionmethods have becomeHtml.PartialAsync, shown in Figure 9. - Also note using statement changes to controller files, which no longer use
System.Web.Mvcand instead useMicrosoft.AspNetCorenamespaces.
Figure 9: Reviewing code diff changes
Step 5: Apply the code changes
Now, we’ll apply the code changes and examine the updated application.
- On the View diff list, choose Select all and then Apply changes. The file changes are applied to your project, and Visual Studio prompts you to reload all files.
- In Solution Explorer, check the project properties. MvcMusicStore is now a .NET 10 project, as shown in Figure 10.
- Next, build the solution. In our case, there were no build errors.
Figure 10: Application is .NET 10 and builds successfully
Step 6: Complete porting
AWS Transform does the heavy lifting in modernizing your code, but a transformed application is not necessarily complete, even if it builds. As the developer, your role is to review the application for correctness and complete any remaining porting tasks. There may be build errors or runtime errors to address. In my example, I had runtime errors and used an AI code companion to resolve them. If the project does not build, review the transformation report from Step 4, which provides details and advice about build errors as well as a downloadable Next Steps prompt.
I added “Core” to the _Layout.cshtml page to display the new platform. You can see the transformed ASP.NET Core code running on .NET 10 in Figure 11.
Figure 11: Transformed application running in browser
Conclusion
AWS Transform provides full-stack Windows modernization, including ASP.NET UI porting to ASP.NET Core. In this post, we learned how to port MVC Razor Views UI to ASP.NET Core. For more information about AWS Transform, refer to the AWS Transform User Guide.