项目启动

时间:2018-06-11 15:15:41

标签: c# model-view-controller

我一直在研究这个问题已经有一段时间了,我不知道还有什么可以尝试的。我得到的错误信息是:

  

System.InvalidOperationException:未找到视图'Index'或其主节点,或者没有视图引擎支持搜索的位置。搜索了以下位置:
  〜/浏览/首页/的Index.aspx
  〜/浏览/首页/ Index.ascx
  〜/查看/共享/的Index.aspx
  〜/查看/共享/ Index.ascx
  〜/浏览/首页/ Index.cshtml
  〜/浏览/首页/ Index.vbhtml
  〜/查看/共享/ Index.cshtml
  〜/ Views / Shared / Index.vbhtml

该视图位于Views/Home/Index.cshtml

这是RouteConfig

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 }
    );
  }
}

即使在Home控制器上的Index操作中放置断点也不会触发。索引控制器操作只返回视图:

public ActionResult Index() {
  return View("~/Views/Home/Index.cshtml");
}

项目设置设置为Use Local IIS Web server

Web settings for project

构建项目成功。没有构建事件。目标框架是.NET Framework 4.5。输出类型是类库。

我正在将我能想到的一切与另一个正在运作的项目进行比较,而且我没有任何突出的表现。我甚至比较了两者的.csproj个文件,对于不在另一个项目中的文件,唯一的区别似乎是<Content Include行。关于在哪里寻找解决此问题的任何想法?

3 个答案:

答案 0 :(得分:2)

您应该只说return View("Index");return View();它会搜索与操作方法同名的视图

答案 1 :(得分:1)

尝试右键单击index.cshtml并选择“属性”。在属性窗口中,将“构建操作”设置为“内容”。这可以解决您的问题。

如果您的_ViewStart.cshtml指向该文件,请确认您在共享文件夹中有_Layout.cshtml文件。

答案 2 :(得分:1)

在决定停止关注错误并开始关注为什么断点未被击中之后,我发现自己处于this answer

  

好的,浪费了4个小时后,我发现将我的web项目设置为启动项目解决了这个问题!这肯定是个错误......

     

我希望我能在那里拯救一半的人:)

原来,网站项目未设置为启动项目。不幸的是,其他的回答者,我最终还是花了很长时间来解决这个问题。