C# MVC5网站找不到布局页面

C# MVC5网站找不到布局页面,c#,windows-server-2008-r2,asp.net-mvc-5.2,C#,Windows Server 2008 R2,Asp.net Mvc 5.2,我有一个MVC5网站在Windows 2008 R2服务器上的IIS下运行。网站正常运行了几个小时,然后我开始看到错误消息说 The layout page "~/Views/Shared/Master.cshtml" could not be found at the following path: "~/Views/Shared/Master.cshtml". 如果我重新启动不是最佳的网站,错误就会消失。你知道这里发生了什么吗?网站确实使用异步控制器,这可能会导致

我有一个MVC5网站在Windows 2008 R2服务器上的IIS下运行。网站正常运行了几个小时,然后我开始看到错误消息说

        The layout page "~/Views/Shared/Master.cshtml" 
could not be found at the following path:
    "~/Views/Shared/Master.cshtml".

如果我重新启动不是最佳的网站,错误就会消失。你知道这里发生了什么吗?网站确实使用异步控制器,这可能会导致线程无法访问文件时出现某种权限问题?

请确保在
~/Views/\u ViewStart.cshtml
文件中设置了正确的路径:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
您似乎设置了如下布局:

@{ 
    ViewBag.Title = "title"; 
    Layout = "_Layout"; 
}
您需要将布局的位置指定为绝对路径:

@{ 
    ViewBag.Title = "title"; 
    Layout = "~/Views/Shared/_Layout.cshtml";
} 

我在所有视图文件中将布局指定为绝对路径。如果我没有这样做,我的网站总是会给我同样的错误。在我的例子中,它可以正常工作几个小时,然后再也找不到该文件。可能是一些服务器端代码正在设置布局(如自定义操作筛选器,或允许指定布局的ViewResult重载…)。有关操作筛选器的提示非常关键。我在一个自定义操作过滤器中有一个重定向,当它被删除时就解决了这个问题。