Modernizing DotNet Apps with Q Developer

As part of a modernization initiative, Amazon Q Developer, a next-generation developer assistant, has actively been leveraged to accelerate the migration of legacy .NET Framework applications to the latest .NET platforms, including .NET 6, .NET 7, and .NET 8. Amazon Q Developer is designed to support a broad spectrum of application types, making it a highly effective solution for transforming large-scale enterprise portfolios that span multiple layers of architecture and technology stacks.

Understanding Legacy .NET Framework Applications

Legacy .NET Framework applications are those built on older versions of the .NET Framework, such as .NET Framework 3.5 and legacy .NET Core versions. These applications often face limitations in terms of performance, security, and scalability, making modernization essential for maintaining operational efficiency and agility.

Benefits of Migrating to Modern .NET Platforms

Migrating to modern .NET platforms, such as .NET 8, offers several advantages:

  • Improved Performance: Modern .NET platforms provide better performance and resource management.
  • Cross-Platform Support: Applications can run on various operating systems, including Windows, Linux, and macOS.
  • Enhanced Security: Modern .NET platforms offer improved security features and long-term support (LTS).
  • Operational Efficiency: Modernization leads to operational efficiency and agility, enabling businesses to adapt to changing market demands.

Amazon Q Developer

Amazon Q Developer is a powerful tool designed to support the migration of legacy .NET Framework applications to modern .NET platforms. It supports a wide range of source project types, ensuring compatibility with even significantly aged applications. The tool provides a safe and structured code transformation process, pushing the transformed code into a separate branch to maintain the integrity of the original repository.

Migration Process

The migration process using Amazon Q Developer involves several steps:

  1. Assessing the Legacy Application: Identify the project types and assess the compatibility with Amazon Q Developer.
  2. Setting Up Amazon Q Developer: Configure the migration settings and prepare the tool for transformation.
  3. Performing Code Transformation: Execute the code transformation and push the transformed code into a separate branch.
Transformation Steps in IDE:

1. Open any C# based solution or project in Visual Studio that you want to transform.

2. Open any C# code file in the editor.

3. Choose Solution Explorer.

4. From the Solution Explorer, right click a solution or project you want to transform, and then choose Port with Amazon Q Developer.

5. The Port with Amazon Q Developer window appears.

The solution or project you selected will be chosen in the Choose a solution or project to transform dropdown menu. You can expand the menu to choose a different solution or project to transform.

In the Choose a .NET target dropdown menu, choose the .NET version you want to upgrade to.

6. Choose Confirm to begin the transformation.

7. Amazon Q begins transforming your code. You can view the transformation plan it generates for details about how it will transform your application.

A Transformation Hub opens where you can monitor progress for the duration of the transformation. After Amazon Q has completed the Awaiting job transformation startup step, you can navigate away from the project or solution for the duration of the transformation.

8. After the transformation is complete, navigate to the Transformation Hub and choose View diffs to review the proposed changes from Amazon Q in a diff view.

9. Choose View code transformation summary for details about the changes Amazon Q made. You can also download the transformation summary by choosing Download summary as .md.

If any of the items in the Code groups table require input under the Linux porting status, you must manually update some files to run your application on Linux.

  1. From the Actions dropdown menu, choose Download Linux readiness report.
  2. A .csv file opens with any changes to your project or solution that you must complete before your application is Linux compatible. It includes the project and file that need to be updated, a description of the item to be updated, and an explanation of the issue. Use the Recommendation column for ideas on how to address a Linux readiness issue.
  3. To update your files in place, choose Accept changes from the Actions dropdown menu.
  1. Reviewing and Testing: Review the transformed code, test its functionality, and make necessary adjustments.

Key Features and Capabilities

Amazon Q Developer offers several key features that make the migration process efficient:

  • Support for Legacy Project Types: Compatible with a wide range of source project types, including Web APIs, Libraries, Unit Tests, WCF, MVC and SPA.
  • Safe and Structured Code Transformation: Ensures the original repository remains untouched by pushing the transformed code into a separate branch.
  • Bulk transformation: Amazon Q Developer Web experience provides the ability to transform multiple projects in a single job from external repositories like GitHub and GitLab, without affecting the original source code. The transformation occurs in a newly created branch, ensuring the safety of the original source code.
  • Developer-Friendly Review and Control: Supports bulk transformation, generates necessary .NET 8 files, and integrates with IDEs like Visual Studio and VS Code for developer control.

Transformation Use Cases

Amazon Q Developer supports the transformation of various legacy application types, such as:

  • Web API Projects: Full transformation to .NET 8 with clean, minimal, and production-ready code. Some manual updates required for ApiController attributes and route mappings.
  • MVC Applications: Smooth migration of controllers and back-end logic layers, with manual adjustments needed for the UI layer and Razor views.
  • Class Libraries: Seamless migration with accurate updates to project format and references.
  • Unit Test Projects: Successful transformation to .NET 8 with validated test execution.

Key Findings and Observations

During the modernization process, we observed the following:

  • Web API Projects: Clean and minimal code with some manual updates required.
  • MVC Applications: Smooth migration with manual adjustments needed for the UI layer.
  • Class Libraries: Accurate updates to project format and references.
  • Unit Test Projects: Validated test execution with minimal alteration.
  • Projects with External DLL Dependencies: In certain scenarios, a new class is created that references external DLLs or private NuGet packages. It is essential to carefully review and apply changes to ensure compatibility.
  • HTTP Attribute Mismatch: REST API best practices for HTTP attributes are applied during transformation, but the original source may not have followed these practices. This can lead to potential compatibility issues for API consumers.       

Best Practices for a Successful Migration

To ensure a smooth and successful migration process, consider the following best practices:

  • Thorough Assessment: Assess the legacy application and identify compatibility with Amazon Q Developer.
  • Configuration and Setup: Properly configure the migration settings and prepare the tool for transformation.
  • Review and Testing: Review the transformed code, test its functionality, and make necessary adjustments.
  • Manual Adjustments: Be prepared to make manual adjustments for specific project types and dependencies.

Conclusion

Migrating legacy .NET Framework applications to modern .NET platforms using Amazon Q Developer offers several benefits, including improved performance, cross-platform support, enhanced security, and operational efficiency. The tool provides a safe and structured code transformation process, ensuring compatibility with even significantly aged applications.

Share this:

Want help modernizing

your applications?

Let’s Talk

    CloudIQ is a leading Cloud Consulting and Solutions firm that helps businesses solve today’s problems and plan the enterprise of tomorrow by integrating intelligent cloud solutions. We help you leverage the technologies that make your people more productive, your infrastructure more intelligent, and your business more profitable. 

    US

    626 120th Ave NE, Suite B102, Bellevue,

    WA, 98005.

    INDIA

    Chennai One IT SEZ,

    Module No:5-C, Phase ll, 2nd Floor, North Block, Pallavaram-Thoraipakkam 200 ft road, Thoraipakkam, Chennai – 600097


    © 2025 CloudIQ Technologies. All rights reserved.

    Get in touch

    Please contact us using the form below

      USA

      626 120th Ave NE, Suite B102, Bellevue, WA, 98005.

      +1 (206) 203-4151

      INDIA

      Chennai One IT SEZ,

      Module No:5-C, Phase ll, 2nd Floor, North Block, Pallavaram-Thoraipakkam 200 ft road, Thoraipakkam, Chennai – 600097

      +91-044-43548317

      Get in touch

      Please contact us using the form below

        USA

        626 120th Ave NE, Suite B102, Bellevue, WA, 98005.

        +1 (206) 203-4151

        INDIA

        Chennai One IT SEZ,

        Module No:5-C, Phase ll, 2nd Floor, North Block, Pallavaram-Thoraipakkam 200 ft road, Thoraipakkam, Chennai – 600097

        +91-044-43548317