我一直在研究这个问题已经有一段时间了,我不知道还有什么可以尝试的。我得到的错误信息是:
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
构建项目成功。没有构建事件。目标框架是.NET Framework 4.5。输出类型是类库。
我正在将我能想到的一切与另一个正在运作的项目进行比较,而且我没有任何突出的表现。我甚至比较了两者的.csproj
个文件,对于不在另一个项目中的文件,唯一的区别似乎是<Content Include
行。关于在哪里寻找解决此问题的任何想法?
答案 0 :(得分:2)
您应该只说return View("Index");
或return View();
它会搜索与操作方法同名的视图
答案 1 :(得分:1)
尝试右键单击index.cshtml并选择“属性”。在属性窗口中,将“构建操作”设置为“内容”。这可以解决您的问题。
如果您的_ViewStart.cshtml指向该文件,请确认您在共享文件夹中有_Layout.cshtml文件。
答案 2 :(得分:1)
在决定停止关注错误并开始关注为什么断点未被击中之后,我发现自己处于this answer
好的,浪费了4个小时后,我发现将我的web项目设置为启动项目解决了这个问题!这肯定是个错误......
我希望我能在那里拯救一半的人:)
原来,网站项目未设置为启动项目。不幸的是,其他的回答者,我最终还是花了很长时间来解决这个问题。