• Blog
  • Migrating from Legacy ASP.NET Webforms to .NET Core

Migrating from Legacy ASP.NET Webforms to .NET Core

A Complete Guide

Publish date:
Discover more of what matters to you

Overview

ASP.NET web forms in .NET Core are not directly supported; however, it is still possible to migrate your current application. To guarantee continuous functioning and access to the newest .NET technologies, this article will walk you through the process of migrating your Web Forms codebase to contemporary webforms in .NET Core environment.

Where and How to Start?

Setting up a new development environment and properly migrate ASP.NET web forms to .NET Core. Below is a summary of the essential steps:

  • Environment. Make sure your operating system is suitable before installing .NET Core, and get the most recent stable version from the official .NET website. For a beneficial migration, make sure you include the .NET CLI and double-check the version requirements for your target .NET Core version.
  • Tools. Update to a version of Visual Studio that supports Web Forms development with .NET Core, which comes with templates and tools for developing .NET Core web applications. The .NET command-line interface (CLI) is a fantastic choice for developers because it provides a lightweight method that enables them to manage dependencies, launch migration tools straight from the command prompt, and build new projects.
  • Migration tools. Manual migration involves rewriting Web Forms code to use Model-View-Controller or Razor Pages paradigms in .NET Core, offering control over the final application structure. Third-party tools like CoreForms can partially bridge the gap between Web Forms and .NET Core, reducing manual migration effort but requiring research on limitations and ongoing support.

Choosing the right approach to convert ASP.NET webforms to ASP.NET Core depends on your project’s complexity, team expertise, and desired level of control.

Our Approach to System Modernization: Model-Driven Software Lifecycle
Check out our article
Check out

Limitations of Legacy ASP.NET Web Forms

Although ASP.NET Web Forms were formerly a common option for web development, they have certain drawbacks when compared to more recent frameworks like.NET Core:

  • Lack of separation of concerns. When UI components, data access, and business logic are combined on a single page, Web Forms code can become closely intertwined. This makes it more difficult to test, maintain, and reuse code.
  • State complexity. View state, a hidden field that retains page data between requests is crucial to Web Form functionality. This may result in performance problems, bloated page sizes, and scalability problems.
  • Limited SEO friendliness. When opposed to sites that are statically created or have better URL structures, Web Forms pages that are dynamically generated on the server are less search engine friendly.
  • Slower development velocity. When developing complicated user interfaces (UIs), using Web Forms’ visual designer might be more time-consuming than working directly with HTML and CSS.

Due to these restrictions, keeping a Web Forms application competitive and current with changing web development methods can be challenging. Upgrading to a more recent framework, such as using ASP.NET Core with webforms, can fix these issues and offer a stronger basis for development going forward.

Benefits of Migrating to Modern .NET

Considering ASP.NET web forms vs ASP.NET Core, there are several benefits to upgrading your application from the antiquated ASP.NET Web Forms to the more recent.NET framework, .NET Core:

  • Improved performance and scalability. In general, .NET Core apps are lighter and quicker than Web Forms applications. A smoother user experience results from this, particularly when there is a lot of traffic. Furthermore, the modular architecture of .NET Core makes it easy to scale to meet increasing customer demands.
  • Modern development practices. Making the switch to .NET Core provides access to contemporary development techniques. Code management and testing are made easier by dependency injection. Applications that use asynchronous programming can be more effective and responsive. These techniques improve codebase future-proofing and development speed.
  • Cloud-native development. The cloud is considered in the architecture of .NET Core. Its smooth integration with Azure cloud services facilitates the deployment and management of your apps in an expandable cloud environment.
  • Stronger security. Microsoft provides regular security upgrades for .NET Core. In comparison to earlier frameworks, it also promotes secure coding methods by default, which lowers vulnerabilities.

You may create safe, scalable, and maintainable web apps in the future by switching to the current iteration of.NET, which gives you access to a strong development platform.

Do you need to upgrade your .NET apps to a newer version?
Check out our article
Check out

Migrating from Webforms to ASP.NET Core

Migrate web forms to .NET Core process involves setting up a new development environment and migrating your existing code. Here’s a breakdown:

Setting Up the Development Environment

You have to install the most recent .NET Core version from the official website after making sure your computer is compatible.

Check that the specifications for your operating system are met. Then, you have to choose to add the .NET CLI during installation when you download the installer from the .NET website.The installed .NET Core version should be visible in your terminal when you execute the dotnet –version command.

Setting Up the Development Environment

Choosing a Migration Approach

You first have to decide on the migration strategy that best suits your project. There are three main options:

  • Manual migration. Rewrite your Web Forms code to make use of the Razor Pages or MVC paradigms in ASP.NET Core.
  • Third-party tools. Investigate programs such as CoreForms that serve as a partial bridge between .NET Core and Web Forms.
  • Upgrade side by side. Under certain circumstances, think about utilizing the Visual Studio upgrade assistant to do a partial migration.

Consider factors like project complexity, team expertise, and desired control over the final application structure when choosing your approach.

“ConnectionStrings”: {

“CMSConnectionString”: “Persist Security Info=False;database=Xperience;server=myserver;user id=username;password=mypassword;Current Language=English;Connection Timeout=120;”

As a result, you must have a clear understanding of the migration path you’ll be taking.

Creating a New ASP.NET Core Project Manually

You may use Visual Studio or the .NET CLI to create a new ASP.NET Core Web Application project and convert webforms to .NET Core.

  • In visual studio. Go to File > New > Project. Select ASP.NET Core Web Application and choose the desired template (e.g., MVC, Razor Pages).
  • Using .NET CLI. Run dotnet new webapp in your terminal.

“CMSHashStringSalt”: “e68b9ad6-a461-4707-8e3e-ece73f03dd02”

A new ASP.NET Core project structure will be created, ready for code migration.

Why Should I Migrate to ASP.NET Core

Migrate ASP.NET web forms to ASP.NET Core process offers a significant boost:  better performance, cleaner code for easier maintenance, and access to modern development practices. This translates to a smoother development experience with stronger security and cloud-readiness for a future-proof application.

Migration of front office websites developed with Delphi to the ASP.NET Core technology
Check out a case study from our practice
Check out

Here are some official Microsoft resources to get you started and migrate webforms to .NET Core:

This migration offers advantages like performance gains, improved maintainability, and access to modern development practices.

Webforms to .NET Core Migration Checklist

This step-by-step checklist on how to develop web forms in ASP.NET Core will guide you through the process, ensuring a smooth transition.

  1. Setup. Install the latest .NET Core on a compatible machine.
  2. Choose approach. Manual rewrite, third-party tools, or side-by-side upgrades based on project complexity and team expertise.
  3. New project. Create a new ASP.NET Core project in Visual Studio or using the .NET CLI.
  4. Code migration. Translate Web Forms code to ASP.NET Core patterns.
  5. Data and security. Migrate data access logic, user authentication, and session management to ASP.NET Core practices.
  6. Testing. Thoroughly test the migrated application using unit testing and manual testing.
  7. Refinement. Refine and adjust code as needed based on testing results.

You may effectively upgrade your web forms application and convert ASP.NET web forms to .NET Core and benefit from enhanced performance, maintainability, and contemporary development methods.

Subscribe to our newsletter and get amazing content right in your inbox.

This field is required
This field is required Invalid email address
By submitting data, I agree to the Privacy Policy

Thank you for subscribing!
See you soon... in your inbox!

confirm your subscription, make sure to check your promotions/spam folder

Subscribe to our newsletter and get amazing content right in your inbox.

You can unsubscribe from the newsletter at any time

This field is required
This field is required Invalid email address

You're almost there...

A confirmation was sent to your email

confirm your subscription, make sure to check
your promotions/spam folder