迁移到 .NET 6 后找不到视图

Views not found after migrating to .NET 6

我将 ASP.NET CORE MVC 项目从 .NET Core 2.1 迁移到 .NET 6。

进行相关修改后,项目编译启动貌似正常,但是找不到视图。

根路径已设置 app.Environment.ContentRootPath = Directory.GetCurrentDirectory();,视图的路径似乎是正确的。这是以下错误消息:

Login.cshtml 在 /Views/Account 文件夹中,生成操作设置为内容。

您的帐户文件夹可能在

等区域丢失

如果可以的话 在 Startup.cs

在这个方法中public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

粘贴此代码

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

找到解决方案。

一个过时的 Razor 包以某种方式弄乱了管道。我不知道为什么。
删除 Razor 包解决了这个问题。

我在迁移到 .Net 6 后遇到了同样的问题,这是适合我的解决方案。我检查了我拥有的软件包列表,发现 Microsoft.AspNetCore.Razor.Design 过时版本仍然是项目的一部分,然后我将其删除,解决方案开始完美运行。

就我而言,它在删除 Microsoft.AspNetCore.Mvc 2.2.0 的软件包后有效。不确定为什么这个版本在从 Net 5 迁移到 6 后仍然位于项目中。