.NET on AWS Blog

Modernize VB.NET applications to .NET 10 with AWS Transform

AWS Transform is an agentic service that accelerates modernization, including .NET applications. With it, you can transform various types of .NET Framework projects to modern versions of .NET including .NET 10. Until recently that support was limited to projects written in C#, the most-used .NET language. AWS Transform can now transform projects written in Visual Basic .NET (VB.NET), and can also transform more project types (WPF, Windows Forms, or Xamarin). This is a preview feature, currently available in Visual Studio IDE in us-east-1 region. In this post, I’ll walk you through transformation of a VB.NET project with AWS Transform.

In the walkthrough that follows, I’ll review the steps to transform DotsAndBoxes, a public VB.NET sample with an MIT license. We’ll transform the .NET Framework 3.5 project, a Windows Forms (WinForms) application, to .NET 10 using AWS Transform in Visual Studio 2026. The transformed application will still require Windows, due to the use of WinForms, but will be running on a modern, supported version of .NET.

Prerequisites

To complete the walkthrough on your own machine, you’ll need the following:

  1. A Windows development machine.
  2. Visual Studio 2026 installed.
  3. The latest AWS Toolkit installed in Visual Studio.
  4. AWS Transform setup is complete.
  5. An IAM Identity Center user credential for AWS Transform.

Walkthrough

Step 1: Setup

In this step, you’ll download the sample application and get familiar with it.

  1. Download the DotsAndBoxes sample from https://github.com/gigacycle/DotsAndBoxes/tree/master.
  2. Open the solution in Visual Studio. Accept Visual Studio’s offer to update the project to .NET Framework 4.8.
  3. Confirm the Dot Game project is a .NET Framework 4.8 Windows Forms application, and that it builds, as shown in Figure 1.
Screenshot of Dot and Boxes project properties in Visual Studio showing .NET Framework version 4.8.

Figure 1: Dot and Boxes project in Visual Studio

  1. Run the application with F5 or Debug > Start Debugging to see its appearance and behavior, then stop debugging. It will look like Figure 2.
Screenshot of original Dot and Boxes application running.

Figure 2: Original VB.NET application running

Step 2: Sign in to AWS Transform

Next, sign in to AWS Transform.

  1. From the Visual Studio menu, select Extensions > AWS Transform > Getting Started.
  2. On the AWS Transform panel, sign-in to AWS Transform with your IAM Identity Center credentials. Once you complete sign-in, Connected with IAM Identity Center should appear in the panel, as shown in Figure 3.
Screenshot of AWS Toolkit Getting Started screen showing signed in on AWS Transform panel.

Figure 3: Signed in to AWS Transform

Step 3: Transform the Application

Now you’re ready to transform. Follow these steps to start a transformation job:

  1. Open .vb code file Form1.vb in the code editor. Opening a code file is necessary to activate AWS Transformation. On the Output tab, select Amazon Web Services, and you should see the Amazon Q Language Client initialize with message Initialized: Amazon Q Language Client. This confirms you have a connection to the AWS Transform service.
  2. In Solution Explorer, right-click the Dot Game project and choose Port project with AWS Transform.
  3. On the Port project with AWS Transform dialog, shown in Figure 4, create or select a workspace and set the .NET target to net10.0.
Screenshot of Port project with AWS Transform dialog showing workspace and .NET target version selection.

Figure 4: Starting a transformation

  1. Choose Start to begin the transformation. You’ll soon see a notification at the top confirming that a transformation job is in progress. Job progress will be shown in the AWS Transform Hub pane.
  2. After a few minutes, AWS Transform will ask if you want to review a transformation plan. Choose Edit Plan to review or modify the plan, shown in Figure 5. Then choose Start transformation to begin the transformation.
Screenshot of transformation plan open in code editor

Figure 5: Transformation plan

  1. As the code is transformed, monitor transformation progress and view details in the AWS Transform Hub window. You can select any sub-step under Transforming code to see activity details. Figure 6 shows the project transformation step details, which includes validating project structure and files, updating the project file to the newer SDK-style format, setting the target to .NET 10, generating .NET start-up code, and updating application configuration.
Screenshot of AWS Transform Hub showing transformation progress

Figure 6: AWS Transformation Hub

  1. Wait for the transformation to complete. When it finishes, a notification Your transformation is completed will appear at the top of Visual Studio. The AWS Transform Hub will show Transformation Complete, as shown in Figure 7. In our case, the transformation completed successfully.
Screenshot of AWS Transform Hub showing transformation complete

Figure 7: Transformation Complete

Step 4: Review the transformation report

Let’s understand what AWS Transform did, and why.

  1. You can learn about the changes made and the reasons for them by viewing the transformation report. In AWS Transform Hub, select Progress View and choose Download transformation results.
  2. Open the HTML transformation report and review the description of what changed, shown in Figure 8. In this case, the report tells us the project was updated to SDK-style, target framework to .NET 10, and some minor code file changes.
  3. Choose View Next Steps to view recommended post-transformation tasks. If your application needs additional work, you can use the next steps as prompts for an AI code companion.
Transformation report showing project changes summary and file change details.

Figure 8: Transformation report markdown

  1. View the file changes to see what was added, removed, or modified. You can do this in either of two ways: 1) view the transformation report’s File Changes section, or 2) View file change in the IDE, by choosing View diffs in AWS Transform Hub. Both views show you file changes side-by-side. In our case, the .vbproj project, a .vb file, and a .config file were modified.

Step 5: Apply the code changes

Now, apply the code changes and examine the updated application.

  1. In the AWS Transform Hub, choose Apply changes. The file changes are applied to your project, and Visual Studio prompts you to reload all files.
  2. In Solution Explorer, check the project properties. Dot Game is now a .NET 10 project, as shown in Figure 9.
  3. Next, build the solution. In our case, there were no build errors.
Screenshot of transformation .NET application properties in Visual Studio showing .NET version 10 and successful build.

Figure 9: Application is .NET 10 and builds successfully

Step 6: Review ported application

AWS Transform handles 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 no runtime errors. If the project does not build, review the transformation report and next steps markup from Step 4 for advice and recommendations. Figure 10 shows the transformed solution running on .NET 10.

Screenshot of transformed Dot and Boxes application running.

Figure 10: Transformed Dots and Boxes application running

Conclusion

AWS Transform provides full-stack Windows modernization, and that now includes VB.NET language projects as well as C#. In this post, you saw how to port a VB.NET WinForms application from .NET Framework to modern .NET. For more information about AWS Transform, refer to the AWS Transform User Guide.

David Pallmann

David Pallmann

David Pallmann is a senior product manager on the AWS Transform team who focuses on the .NET developer experience. David has previously served in engineering, consulting, product, and tech manager roles. He worked on WCF, and later created Neuron ESB, the first .NET-based enterprise service bus. Follow him on X at @davidpallmann.