'Views not found after migrating to .NET 6

I migrated an ASP.NET CORE MVC project from .NET Core 2.1 to .NET 6.

After making relevant changes, the project compiles and starts seemingly OK, but the views aren't found.

Root path is set app.Environment.ContentRootPath = Directory.GetCurrentDirectory(); and the path to views seems to be correct. This is the error message that follows:

enter image description here

The Login.cshtml is in /Views/Account folder, and Build Action is set to Content.



Solution 1:[1]

Found a solution.

An outdated Razor package messed up the pipeline somehow. I'm not sure why.
Removing the Razor package solved the issue.

Solution 2:[2]

I had the same issue after migrating to .Net 6, and this is the solution that works for me. I checked the list of packages that I have and saw that Microsoft.AspNetCore.Razor.Design outdated version was still part of the project, then I removed it and the solution started working perfectly.

enter image description here

Solution 3:[3]

your account folder maybe missing in areas like enter image description here

if it is ok then in Startup.cs

in this method public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

paste this code

  app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
            endpoints.MapRazorPages();
        });

Solution 4:[4]

For my case, it worked after removing the package of Microsoft.AspNetCore.Mvc 2.2.0. Not sure why this version was still siting in the project after migrating from Net 5 to 6.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sami
Solution 2 OIbuoye
Solution 3 Sabbir Islam Mukdo
Solution 4 Zhou Wei