Asp.net mvc 如何在asp.net core 3.1中显示嵌套文件夹中的页面

Asp.net mvc 如何在asp.net core 3.1中显示嵌套文件夹中的页面,asp.net-mvc,razor,asp.net-core-3.1,Asp.net Mvc,Razor,Asp.net Core 3.1,当我尝试运行应用程序时,出现以下异常,我知道原因是它找不到文件。但是有没有其他办法来提供这个文件呢 文件夹结构: 我尝试使用“UseContentRoot”,但无法解决此问题 CreateHostBuilder(args).UseContentRoot(Directory.GetCurrentDirectory() + "\\PersonalTab").Build().Run(); 例外情况: InvalidOperationException:未找到视图“索引”。搜索了以下地点: /

当我尝试运行应用程序时,出现以下异常,我知道原因是它找不到文件。但是有没有其他办法来提供这个文件呢

文件夹结构:

我尝试使用“UseContentRoot”,但无法解决此问题

   CreateHostBuilder(args).UseContentRoot(Directory.GetCurrentDirectory() + "\\PersonalTab").Build().Run();
例外情况: InvalidOperationException:未找到视图“索引”。搜索了以下地点: /Views/Home/Index.cshtml /视图/Shared/Index.cshtml

当我尝试从“PersonalTab”文件夹外部查看时,它工作正常,但根据我的要求,它需要位于“PersonalTab”文件夹内部


注意:使用asp.net core 3.1时,您可以将RazorViewEngineOptions配置为也可以在PersonalTab文件夹下查看。我尝试重新创建一个项目,并将其添加到Startup类ConfigureServices方法中,它对我有效:

services.Configure<RazorViewEngineOptions>(o =>
        {
            o.ViewLocationFormats.Add("/PersonalTab/Views/{1}/{0}" + RazorViewEngine.ViewExtension);
            o.ViewLocationFormats.Add("/PersonalTab/Views/Shared/{0}" + RazorViewEngine.ViewExtension);
        });
services.Configure(o=>
{
o、 添加(“/PersonalTab/Views/{1}/{0}”+RazorViewEngine.ViewExtension);
o、 添加(“/PersonalTab/Views/Shared/{0}”+RazorViewEngine.ViewExtension);
});
参考: