Updating web modules written in ASP.NET Core 2.1 to ASP.NET 6.0

Client`s pains

Project size

In this project, we upgraded web modules written in ASP.NET Core 2.1 to ASP.NET 6.0 for an employee training system provider.
NETcore icon
ASP.NET Core
C++ icon
C++
Microsoft.NET Framework
Winforms
Microsoft sql server
Microsoft SQL Server 2009
SharePoint
SharePoint

Duration

6 months for realization

Efforts

200 000+ lines of code

01.

Description

Our client provides an education management system for employees and administrators that is suitable for any industry and can be used by a company of any size.

With the help of this product, users can get access to tests, results of the learning process, average test scores, work evaluations, surveys, and financial data reports. All this allows every manager to educate employees, monitor their progress, communicate with them, and control whether they meet the company’s requirements.

Market leaders have to continuously improve and update the software of their products with the help of modern technologies. Otherwise, their achievements may turn out to be useless due to a high level of competition. Our customers had been planning to modernize some parts of the software product for quite a lot. But as it usually happens, this project had been constantly postponed. The system included not only desktop modules written with Windows Forms and C++ but also SharePoint ASP.NET web modules. And the company didn’t have in-house resources for finishing the project in time.

They contacted us for modernizing the modules written with  ASP.NET Core 2.1 and updating them to ASP.NET 6.0. There were the following reasons:

  • the current version didn’t have new features and updates for obsolete software;
  • now web modules are more vulnerable to risks and security issues;
  • introducing changes to these modules became a very expensive and risky task which created a very favorable environment for new bugs and errors that were quite difficult to detect and fix;
  • there was a high risk of losing clients.

02.

Solution

Together with the client’s team, we chose a front-end UI framework for software modules. After a careful analysis of all the pros and cons based on the system type and business goals, we decided to use Blazor. We also considered the possibilities for code refactoring, code cleanups, and the implementation of modern development concepts, such as testing automation, continuous integration and delivery, etc.

After that, we reviewed the modules, evaluated their architecture and the state of the used components. We also defined those parts that had the highest priority and required our attention in the first turn, in other words, we chose the functionality that had to be rewritten or replaced.

After that, we started to conduct migration. We:

  • updated the target version of .NET SDK  
  • updated the target framework
  • updated package references
  • created a new Blazor 6.0 project from one of the Blazor project templates 
  • moved the components and the module code to the new version 
  • updated Dockerfile FROM statements and scenarios for the modules that use Docker
  • adapted view Razor models for using them with Blazor
  • tested and released the product

03.

Summary

  • After the migration project was finished, our client got a fully functional product that was moved to a modern  ASP.NET 6.0 version.
  • New modernized modules with improved performance and quality allowed our customer to increase the efficiency of the company’s work.

Related Projects

Our experience with other projects

Amberteq helped customers to release their business ideas into up-to-date solutions implemented via the most current development stack. Take a journey through the projects with our team to experience it with us.

WANT TO START A PROJECT?