找不到Index.cshtml-在Azure上部署的.NET Core 2.2 Web App

时间:2019-06-21 03:04:26

标签: c# azure asp.net-core

我有一个简单的.NET Core 2.2 Web App,已将其部署到Azure App Service。 应用程序包含一个带有Index Action和Index.cshtml文件的简单HomeController。

当我尝试浏览页面时,它给我InvalidOperationException并显示消息找不到视图'〜/ src / Views / Home / Index.cshtml'。

我已经验证了文件的路径和构建操作(内容),但是由于某些奇怪的原因,它找不到视图。但是令人惊讶的是,如果我将View的名称更改为Index1.cshtml,它将起作用。

谁能解释为什么会这样?

预先感谢

 public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View("~/src/Views/Home/Index.cshtml");
        }
    }

public void Configure(IApplicationBuilder应用程序,IHostingEnvironment env)         {

        app.UseDeveloperExceptionPage();
        app.UseStatusCodePages();
        app.UseStaticFiles();
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

    }

我希望它能呈现Index.cshtml而不是它给我这个: InvalidOperationException:找不到视图“〜/ src / Views / Home / Index.cshtml”。搜索了以下位置: 〜/ src / Views / Home / Index.cshtml

1 个答案:

答案 0 :(得分:0)

您应该这样返回

return View("~/Views/Home/Index.cshtml");

我很确定您为视图指定了错误的路径。默认情况下,每个视图都将驻留在侧面视图文件夹中,而不是src文件夹中