Reviving legacy application through automation
Dotnet migration and maintenance with Amazon Q Developer
Refactored a 200,000-line .NET WinForms application to upgrade from .NET Framework v4.8 to .NET 9 with the help of Amazon Q Developer
Removed legacy components (Lidor, CMIS, local MongoDB) and migrated dependencies to NuGet
Updated csproj project definitions and build targets for .NET 9 compatibility
Upgraded Spring.NET from v1.3.2 to v3.0.2 to support the most recent dotnet versions
Documented the entire process, including a user acceptance testing script and a roadmap for cross-platform expansion to enable future market growth (e.g., iOS)
Proposed replacing custom OAuth solutions with MSAL.Net for better security and improved maintenance
Challenges
The large migration gap (skipping multiple .NET versions) required meticulous preparation and compatibility handling
Identifying and eliminating legacy blockers systematically without breaking existing functionality
Lack of test coverage slowed down progress validation and introduced risk during refactoring
Implementation Specifics
Amazon Q Developer
C#
.NET Framework v4.8 (dotnet core v1, v2, Standard, v3.x, dotnet 5, 6, 7, 8) until dotnet 9
WinForms
Gradle
MSBuild
dotnet cli
Spring.NET
Visual Studio
MongoDB/BSON
NuGet package manager