【问题标题】:The view 'Index' or its master was not found or no view engine supports the searched locations. After deploy MVC5/MVC4 on IIS 8.5未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。在 IIS 8.5 上部署 MVC5/MVC4 后
【发布时间】:2015-03-09 06:33:09
【问题描述】:

我从模板 2013 VS 创建了 MVC 5 应用程序。如果我从 VS 运行它,它可以工作。

我使用发布和文件部署到我的文件夹,并在 IIS 上设置了新池:v4,集成。

比我使用这个池创建新站点

我重新启动 IIS,但如果我运行应用程序,我会收到错误消息,说它找不到我的视图。

我的文件夹包含视图

我的特征是这样设置的:

我也有 MVC 4 的问题,但我得到这样的页面。

在我的 RouteConfig.cs 中是这样的:

namespace MVC5
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

也许我的功能不适合 IIS 功能,但我对此感到迷茫。 感谢您的帮助。

【问题讨论】:

  • 检查应用程序池运行的 .NET 版本
  • 应用程序池的 .NET 版本是 v4.0.30319 我添加了新图片 - 倒数第二个。
  • 为什么你的 URL 是 localhost\mvc5 ?我认为应该是 localhost\new
  • 检查 3. 图片路径没问题 "mvc5" - "new" 只是应用程序池
  • 您显示的应用程序池称为新应用程序池,但在另一个屏幕截图中您使用的是 DefaultAppPool

标签: asp.net asp.net-mvc asp.net-mvc-4 iis asp.net-mvc-5


【解决方案1】:

我认为正确的答案应该是授予用户 IIS_IUSRS 对您的网络文件夹的完全权限,在您的情况下为 mvc5

IIS_IUSRS 是 IIS 工作进程帐户的组

See this answer for more info

然后确保应用程序正在使用 apppoolidentity 的应用程序池

【讨论】:

    【解决方案2】:

    我终于找到了我的问题所在。

    我部署的文件夹的路径是:"C:\Users\Anton\Downloads\MVC5d​​"

    但 IIS 可能对位于文件夹“用户”中的路径不满意。

    我将它移到 "C:\MyProjects\MVC5d​​" 中,现在一切正常。

    【讨论】:

      【解决方案3】:

      您的步骤看起来不错 - 我没有发现任何问题。在不同的电脑上试试或者重新安装win。

      【讨论】:

      • 重新安装win?这是一个解决方案吗?
      猜你喜欢
      • 2013-06-23
      • 2013-08-18
      • 2017-03-09
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多