Nancy.ViewEngines.ViewNotFoundException:无法找到视图'索引'

时间:2015-04-14 09:05:30

标签: c# asp.net-mvc nancy

我知道这个问题是在一个月前提出的,但从未得到过回答。 我的程序正常启动,但在返回查看[“索引”,blogPost] 后,它无法找到Index.cshtml并引发异常。

Get["/"] = parameters =>
{
   var blogPost = new BlogPost
   {
       Id = 1,
       Title = "Test",
       Content = "Lorem ipsum...",
       Tags = { "c#", "aspnetmvc", "nancy" }
   };

   return View["Index", blogPost];
};

例外:

  

Nancy.RequestExecutionException:哦,不! ---> Nancy.ViewEngines.ViewNotFoundException:无法找到视图'Index'   目前可用的视图引擎扩展:sshtml,html,htm,cshtml,vbhtml   检查地点:views / Home / Index-de-DE,views / Home / Index,Home / Index-de-DE,Home / Index,views / Index-de-DE,views / Index,Index-de-DE,Index `

3 个答案:

答案 0 :(得分:1)

如果给我的基督徒的答案对您没有帮助,但对我没有帮助,那么您可以选择其他问题/解决方案。另一种方法是确保在编译时将创建的文件复制到输出目录。您可以在下面显示的属性标签下对其进行检查

Like its shown here

答案 1 :(得分:0)

异常消息告诉您Nancy试图查找视图的位置:

Locations inspected: views/Home/Index-de-DE,views/Home/Index,Home/Index-de-DE,Home/Index,views/Index-de-DE,views/Index,Index-de-DE,Index

该异常还告诉您Nancy试图寻找的文件扩展名:

Currently available view engine extensions: sshtml,html,htm,cshtml,vbhtml

这就是Nancy在列出的某个位置查找一个文件,其中包含一个列出的扩展名。 所以问题是你的index.cshtml是否在列出的文件夹中。如果没有,您可以将其移动到那里或设置view location convention

答案 2 :(得分:0)

我们遇到了此错误,并注意到它抱怨的.cshtml文件没有被复制到服务器。解决方案是在Visual Studio中,在文件属性中,我们将Build Action更改为Content。这迫使它被包含在部署到服务器的构建构件中。同样,您可以像其他人提到的那样将Copy to Output Directory更改为Always;两者都可以,但是我发现将文件设置为“内容”更为有用。

File properties in Visual Studio

就您而言,我猜您有一个Index.cshtml文件,需要将该属性设置为打开。