MVC5/MVC4在IIS 8.5上部署后出现视图'Index'或其主控未找到,或没有视图引擎支持搜索的位置。

3
我使用2013 VS模板创建了MVC 5应用程序。如果我从VS中运行它,它可以正常工作。 enter image description here 我使用发布和文件部署到我的文件夹,并在IIS上设置了新的池:v4,集成。 enter image description here 然后我使用此池创建了一个新站点。 enter image description here 我重启了IIS,但如果我运行应用程序,则会出现错误,提示找不到我的视图。 enter image description here 我的文件夹包含视图。 enter image description here 我的特征设置如下: enter image description here 我也有MVC 4的问题,但我得到了这样的页面。 enter image description here 在我的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版本。 - Stilgar
应用程序池的.NET版本为v4.0.30319。我添加了新图片 - 从顶部数第二个。 - tonco
为什么你的URL是localhost\mvc5?我认为它应该是localhost\new。 - Eru
检查第三个内容:图片路径正确 "mvc5" - "new" 仅仅是应用程序池。 - tonco
你展示的应用程序池名字是new,但在另一张截图中你使用的是DefaultAppPool。 - Stilgar
显示剩余4条评论
3个回答

9
我认为正确的答案应该是给予用户 IIS_IUSRS 对你的Web文件夹,即在你的情况下的mvc5,完全权限。 IIS_IUSRS 是IIS工作进程账户的组。 查看此答案以获取更多信息

enter image description here

然后确保应用程序使用一个应用程序池,并且使用apppoolidentity。

enter image description here

enter image description here


5

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

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

但可能IIS不喜欢位于"Users"文件夹中的路径。

我把它移动到了"C:\MyProjects\MVC5d",现在一切正常了。


-3

你的步骤看起来很好 - 我没有看到任何问题。尝试在不同的电脑上或重新安装 Windows。


重新安装Windows?这是个解决方案吗? - Arry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接