0

我一直在寻找一段时间,我希望我只是错过了一些小而明显的东西。对于未检测到此文件,是否还有其他我可能遗漏的原因?大多数针对此错误的建议表明该文件未正确命名、未正确注册其路径或所述文件的位置不正确。

我不认为它的名称、路径或注册表。当我运行它时,我实际上可以在返回视图之前调试并在我的主控制器中命中一个断点。

下面是我得到的错误。我已将文件实际存在的路径加粗。

未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:

~/Views/Home/Index.cshtml
~/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

下面是我得到的堆栈跟踪

在 System.Web.Mvc.ViewResult.FindView(System.Web.Mvc.ControllerContext 上下文)[0x00000] 中:0 在 System.Web.Mvc.ViewResultBase.ExecuteResult(System.Web.Mvc.ControllerContext 上下文)[0x00000] 中:0 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) [0x00000] 在 :0 在 System.Web.Mvc.ControllerActionInvoker+<>c__DisplayClass1a.b__17 () [0x00000] in :0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter (IResultFilter filter, System.Web.Mvc.ResultExecutingContext preContext, System.Func`1 continuation) [0x00000] in :0 这就是我想要的设置。

razorpage/Global.asax.cs

    routes.IgnoreRoute ("{resource}.axd/{*pathInfo}");

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

razorpage/控制器/HomeController.cs

public class HomeController : Controller
{
    public ActionResult Index ()
    {
        return View ();
    }
}

razorpage/Views/Home/Index.cshtml

@model homepagerazor.Controllers.HomeController

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

这是我的文件夹结构的小快照

文件夹快照

更新

在单声道中,似乎没有像在 Visual Studio 中那样更改起始页面的特定选项。如果我打开 web.config 限制,我可以导航到视图目录中的常规 html 页面,这样我就知道虚拟路径在那里并且正确。

这让我怀疑是否正在加载正确的视图引擎,因此我闯入应用程序的开头并检查以确保加载了 RazorViewEngine。这让我回到了我开始不知道如何在返回主页视图时找到我的问题的地方。

4

1 回答 1

1

不幸的是,这里手头的问题不仅仅是一个问题。

首先 ,我的 web 配置文件有两组值,它们的值设置不正确。

  • System.Web.MVc,3.0.0.0 需要是 System.Web.Mvc,4.0.0.0
  • System.Web.WebPages.Razor,1.0.0.0 需要是 System.Web.WebPages.Razor,2.0.0.0
  • 我需要下载包 ASP.NET MVC 4。这包含我关心的所有匹配版本的 dll。
  • 最后,我在索引视图中遇到了一个剃刀语法错误,这也恰好给了我完全相同的可爱错误。

作为对前两个的注释,我最初更改了它,但没有意识到每个字符串的实例数量与我发现在两个集合上进行查找和替换很有用。

于 2013-11-01T03:53:19.067 回答