【问题标题】:System.InvalidOperationException on project start项目启动时的 System.InvalidOperationException
【发布时间】:2018-06-11 15:15:41
【问题描述】:

我已经解决这个问题一段时间了,但我不确定还有什么可以尝试的。我收到的错误消息是这样的:

System.InvalidOperationException:未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/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 操作中设置断点也不会触发。 Index 控制器操作只返回视图:

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

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

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

我正在将我能想到的一切与另一个正在运行的项目进行比较,但没有什么对我来说很突出。我什至比较了两者的.csproj 文件,唯一的区别似乎是不在其他项目中的文件的<Content Include 行。有什么想法可以解决这个问题吗?

【问题讨论】:

  • 这可能很傻,但你确定你在运行而不是发布时处于调试状态吗?
  • @MichaelPuckettII 在这一点上,我会接受所有“可能很愚蠢”的问题,因为我必须遗漏一些东西。要回答您的问题,是的,它在调试配置中。只是因为,我也尝试过发布配置,同样的错误。

标签: c# model-view-controller


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    尝试右键单击您的 index.cshtml 并选择属性。在属性窗口中,将 Build Action 设置为 Content。这可能会解决您的问题。

    如果您的 _ViewStart.cshtml 指向共享文件夹,还要验证您在共享文件夹中有 _Layout.cshtml 文件。

    【讨论】:

    • 验证 _Layout.cshtml 视图
    • 还将 Build Action 设置为 Content。
    • 右键单击操作方法并选择“转到查看”是否会将您带到该视图?
    • 是的[这个空间添加到字符限制]
    【解决方案3】:

    在决定停止关注错误并开始关注断点未命中的原因后,我发现自己位于this answer

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

    希望我能在外面救人半天 :)

    原来网站项目没有设置为启动项目。不幸的是,其他回答者,我最终还是花了很长时间才弄清楚这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-20
      • 2018-06-10
      • 2021-02-04
      • 2012-06-20
      • 2014-10-07
      • 2022-09-28
      • 1970-01-01
      • 2012-07-17
      相关资源
      最近更新 更多