Mvc 关于 _Layout 运行时出错没有.cshtml扩展名

MVC的_Layout页面的<!DOCTYPE html>提示有错误,但是不影响项目的正常运行。但是看着难受啊,于是在网上找原因,就是让在web.config文件中加入这几段代码:

<compilation debug="true" targetFramework="4.5">
<buildProviders>
<add extension=".cshtml" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>

但是运行后发现问题更严重,还报错了。。。(可能不是一个错误原因)于是想起国外的mvc比较完善,于是翻译成英文翻墙在这个帖子中解决问题:

https://stackoverflow.com/questions/15330712/runtime-error-there-is-no-build-provider-registered-for-the-extension-cshtml

帖子里面的解答有很多,我是在最后一个解答,解决我的问题的(翻译过来的):

这个问题可能与ASP.NET中的JIT编译器有关。我们在运行时更改了一个.cStML文件后,在一个有效率的服务器上发生了这个错误,没有让应用程序再次工作。重新启动Web应用程序和回收IIS应用程序库并没有帮助。

为了进行测试,我将targetFramework="4.0"更改为另一个版本,并立即重新运行。在我把它改回到最初的版本号之后,它又工作了。我猜这个改变会导致任何ASP.NET临时文件的完全重建。

于是我尝试把web.config中的targetFramework="4.5" 属性改成其它他版本,运行后,再改回来之后发现问题解决了。目前还不知道具体原因,但问题算是解决了....

猜你喜欢

转载自blog.csdn.net/qq_40138785/article/details/81582927