ASP.NET MVC 3:找不到视图'Error'或其主控制器,也没有视图引擎支持搜索的位置。

13

我开始了一个MVC 3项目,并在本地主机上无问题运行。但是当我将其上传到我的托管服务器时,我收到了错误消息:

System.InvalidOperationException
The view 'Error' or its master was not found or no view engine supports the searched locations

我的控制器中没有任何'Error'方法,而且就像我之前说的,在本地主机上一切都很好。我该如何解决我的问题?

提前感谢!

2个回答

28

~/Views/Shared文件夹中应该有一个Error.cshtml / Error.aspx文件。如果您在web.config中启用了自定义错误,则会呈现此视图:

<customErrors mode="On" />

如果抛出异常,这里有一个可能的解释:您没有这个视图(尽管默认的MVC 3项目模板会自动添加它),当您在托管服务器上部署您的项目时,会发生一些本地未发生的异常,当框架尝试呈现错误视图时,它找不到该视图,因此您得到了这个错误。所以,您可以尝试暂时禁用自定义错误,以查看您实际遇到的异常,或者如果您已经设置了日志记录框架(顺便说一下,elmah很棒),请查看日志。


5
ELMAH很牛逼,但它记录了相同的异常,表示找不到视图。 - Dave Van den Eynde

7

问题解决了:我的提供者服务器和我的开发环境之间的MVC版本有差异。


2
这不是一种解决方案,更像是一种声明。 - Levitikon
6
显然,解决方案是升级/降级它们之中的任意一个,以便版本号相同。 - user247702

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接