Can an existing VB.NET ASP.NET Web Forms application be migrated to .NET 10 while keeping VB.NET?

PHAM VAN NAM 5 Reputation points
2026-08-06T10:16:00.91+00:00

Hello Microsoft Support,

We have a legacy enterprise system developed with VB.NET on .NET Framework 3.5 (ASP.NET Web Forms).

We are planning to migrate the system to .NET 10 and would like to minimize code changes.

Our questions are:

  1. Is it possible to migrate the existing application to .NET 10 while keeping VB.NET as the programming language?
  2. Can ASP.NET Core MVC or Razor Pages be developed using VB.NET on .NET 10?
  3. If not, what is Microsoft's recommended migration approach for a large VB.NET Web Forms application?
  4. Can the Business Logic, Domain, Infrastructure, and Class Library projects remain in VB.NET while only the Web project is rewritten in C#?
  5. Is there any official Microsoft guidance or best practice for migrating a large VB.NET Web Forms application to .NET 10?

Thank you.

Developer technologies | VB
0 comments No comments

3 answers

Sort by: Most helpful
  1. AgaveJoe 31,376 Reputation points
    2026-08-06T11:22:25.5833333+00:00

    Is it possible to migrate the existing application to .NET 10 while keeping VB.NET as the programming language?

    No. Web Forms does not exist in modern .NET.

    Can ASP.NET Core MVC or Razor Pages be developed using VB.NET on .NET 10?

    No. VB.NET is not supported in ASP.NET Core MVC or Razor Pages.

    If not, what is Microsoft's recommended migration approach for a large VB.NET Web Forms application?

    At a minimum, you are looking at rewriting the entire presentation layer. The total migration effort is directly tied to your current application's architecture. The community cannot provide a blanket answer without evaluating your existing design.

    My advice is to invest a week or two learning both C# and .NET Core. C# is ultimately just syntax but you need to learn the fundamentals of .NET Core alongside it. Once you understand both the language and the framework, a seasoned developer will naturally know how to approach the migration.

    https://learn.microsoft.com/en-us/aspnet/core/fundamentals/?view=aspnetcore-10.0&tabs=windows

    Can the Business Logic, Domain, Infrastructure, and Class Library projects remain in VB.NET while only the Web project is rewritten in C#?

    Maybe. It depends entirely on your dependencies and whether your libraries can target .NET Standard 2.0 or modern .NET.

    Is there any official Microsoft guidance or best practice for migrating a large VB.NET Web Forms application to .NET 10?

    There is no direct upgrade path from Web Forms to .NET 10 because the paradigms are completely different (event-driven server controls vs. modern request/response pipelines). Microsoft generally points developers toward incremental modernization patterns (such as the Strangler Fig pattern) where you extract business logic, rebuild the web layer in C#, and run systems side-by-side during the transition.
    https://learn.microsoft.com/en-us/dotnet/core/porting/framework-overview

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

  2. Marcin Policht 101K Reputation points MVP Volunteer Moderator
    2026-08-06T11:10:05.48+00:00
    1. Unfortunately not - although Visual Basic is supported on .NET 10, its scope is limited. ASP.NET Web Forms is tied to .NET Framework and will not be ported to modern .NET. VB.NET remains supported for class libraries, console applications, Windows Forms, and WPF.
    2. This is no as well - ASP.NET Core MVC, Razor Pages, Blazor, and minimal APIs can only be developed in C#. AFAIK, Microsoft does not provide VB.NET support, templates, or tooling for ASP.NET Core web applications.
    3. The recommended approach I'm aware if is an incremental migration rather than a "big bang" rewrite. Because Web Forms has no direct equivalent in ASP.NET Core, the web layer would need to be rewritten and reusable code migrated to modern .NET. Modernize your apps in stages, allowing the legacy Web Forms application and the new ASP.NET Core application to run side by side during the transition.
    4. Yep - a common and supported approach is to rewrite only the web project in C# while keeping the Business Logic, Domain, Infrastructure, Data Access, and other class library projects in VB.NET. These projects can be migrated to SDK-style projects targeting .NET 10 and referenced directly from the new C# ASP.NET Core application because both languages compile to the same .NET Intermediate Language (CIL).
    5. There are several tools and technologies to support this migration. The .NET Upgrade Assistant can help migrate supported projects to SDK-style format and identify compatibility issues. For incremental migrations, Microsoft provides System.Web Adapters to enable sharing of features such as HttpContext, session state, and authentication between ASP.NET Framework and ASP.NET Core applications. YARP (Yet Another Reverse Proxy) is commonly used to route requests between the legacy and new applications during phased migration. Microsoft also publishes official guidance for incremental ASP.NET Framework to ASP.NET Core migration (https://learn.microsoft.com/en-us/aspnet/core/migration/fx-to-core/start?view=aspnetcore-10.0), but there is no Microsoft tool I'm aware of that automatically converts Web Forms applications or VB.NET Web Forms code to ASP.NET Core.

    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin

    Was this answer helpful?

    0 comments No comments

  3. Damien Pham (WICLOUD CORPORATION) 1,800 Reputation points Microsoft External Staff Moderator
    2026-08-06T11:05:39.33+00:00

    Hi @PHAM VAN NAM

    Thanks for reaching out. Here is how each point aligns with the current Microsoft guidance.

    1. Can the application move to .NET 10 while remaining in VB.NET?

    Partially. The existing ASP.NET Web Forms project cannot be directly retargeted from .NET Framework 3.5 to .NET 10 because Web Forms depends on System.Web and was not ported to ASP.NET Core. Migrating the web application therefore requires rewriting the presentation layer rather than simply changing its target framework.

    Migrate from ASP.NET Framework to ASP.NET Core

    Reusable non-web components, such as business logic, domain models, and compatible class libraries, can remain written in VB.NET. However, they must be retargeted and checked for dependencies on .NET Framework-only APIs and packages. Microsoft’s Visual Basic strategy states that VB will remain supported for existing core scenarios, including libraries, but is unlikely to be extended to new workloads such as web front ends.

    Visual Basic language strategy

    1. Can ASP.NET Core MVC or Razor Pages be developed in VB.NET on .NET 10?

    ASP.NET Core does not provide first-party VB.NET web templates or Razor tooling, and VB.NET is not the recommended language for new ASP.NET Core web front ends. Razor syntax and its associated tooling are based on C#, so Razor views, Razor Pages, and Blazor components use C# for their Razor code.

    Visual Basic language strategy

    ASP.NET Web Forms itself is not available in ASP.NET Core. Therefore, moving a Web Forms application to .NET 10 is not an in-place framework upgrade. The web UI must be rewritten using an ASP.NET Core UI framework.

    Migrate from ASP.NET Web Forms to Blazor

    1. Can the other projects remain in VB.NET while only the web project is rewritten in C#?

    Yes. This is a practical migration architecture and can maximize the amount of reusable code. The new ASP.NET Core web project can be written in C# and reference compatible VB.NET class libraries.

    However, those libraries may require changes if they depend on System.Web, HttpContext.Current, Web Forms types, old configuration APIs, unsupported NuGet packages, or other .NET Framework-only features.

    Because the current application targets .NET Framework 3.5, it cannot directly consume .NET Standard 2.0 libraries. The existing application would first need to move to a compatible .NET Framework version. Reusable libraries could then target .NET Standard 2.0, or multi-target .NET Framework and .NET 10, while the old and new applications coexist.

    .NET Standard

    1. What is the recommended approach for a large Web Forms application?

    For a large production application, Microsoft recommends considering an incremental migration rather than replacing the entire application at once.

    The current guidance describes creating a new ASP.NET Core application beside the existing Web Forms application and using YARP to proxy requests that have not yet been migrated back to the original application. This allows individual routes or features to be moved gradually while the existing application remains available.

    Get started with incremental ASP.NET to ASP.NET Core migration

    System.Web adapters can help with selected shared-library, authentication, session, and remote-app scenarios during the transition. They do not make Web Forms pages run in ASP.NET Core, so the UI still needs to be rewritten.

    System.Web adapters

    When selecting the new UI framework, Blazor may feel more familiar to Web Forms developers because it uses reusable components and event-driven UI patterns. Razor Pages provides a page-focused request-handler model, but it does not reproduce Web Forms postbacks, ViewState, server controls, or the Web Forms page lifecycle. The appropriate choice depends on the application’s interaction model, architecture, hosting requirements, and the team’s experience.

    Migrate from ASP.NET Web Forms to Blazor

    1. What tooling is currently recommended?

    The current Microsoft recommendation is the GitHub Copilot modernization chat agent. It can assess projects and dependencies, generate a migration plan, provide targeted recommendations, and automate some common migration changes.

    The older .NET Upgrade Assistant is officially deprecated in favor of this agent. Automation can help with project and API changes, but a Web Forms migration still requires architectural decisions and a rewrite of the presentation layer.

    .NET Upgrade Assistant overview

    For this application, a realistic high-level sequence would be:

    1. Inventory the dependencies and separate reusable logic from Web Forms-specific code.
    2. Move the existing application to a compatible .NET Framework version where feasible.
    3. Retarget or multi-target the reusable VB.NET libraries.
    4. Create the new ASP.NET Core web application in C#.
    5. Run the old and new applications side by side.
    6. Migrate routes and features incrementally.
    7. Retire the Web Forms application after the remaining functionality has been moved and validated.

    If this answers your questions, you can mark the response accordingly so that other community members can more easily find the solution.

    I hope this helps! If my answer was helpful so far, you can follow this guidance to provide some feedback. This also help others find the solution easier.  

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.