描述
今天忽然碰到一个这个错误:
“/”应用程序中的服务器错误。
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误消息: 未能加载类型“XX.MvcApplication”。
源错误:
行 1: <%@ Application Codebehind="Global.asax.cs" Inherits="XX.MvcApplication" Language="C#" %>
|
源文件: /global.asax 行: 1
顿时懵逼,不知如何是好,果然是问题发生在自己身上的时候就会不知所措 ,教别人的时候说的头头是道。
思路
下面说说解决这类问题的思路
首先看一下提示,未能加载类型“XX.MvcApplication”,也就是找不到这个类型,源文件是 global.asax的第一行。
下一步,为什么会找不到呢?分析原因:第一、命名空间不同。可能修改了,不统一,所以找不到;第二、输出的位置改掉了,不在web.config文件所在目录的bin文件夹里面,导致网站启动的时候找不到相应的项目的dll
知道大概原因就好解决问题了,下次遇到这种黄色错误页,不要慌,先做深呼吸,然后看提示,参考这里说的思路尝试一下,基本就能解决大部分问题。
总结
mvc启动最开始运行 global.asax里面的类 MvcApplication 的 application_start 方法,在这里注册全局配置,基本上这个方法断点成功之后,说明项目的文件都没什么问题,出现什么问题,都能通过合理的断点去调试来发现解决问题。这次是启动失败了,那么首先应该检查文件,web.config在哪里,相应的dll又在哪里,齐不齐全,结合出错提示来排查问题。出现一个问题,然后深究它出现的原因,往往能够了解更身一层的原理,并且记忆更加深刻。如果要达到那种出现问题一看就知道什么原因的程度,要么遇到并解决过此类问题要么知道它背后的原理。而要进行这个学习提高经验,可以有如下做法:第一、找官网文档或者研究源码,弄懂原理,这种不经过大量实战还是不能很好掌握;第二、每出现一个问题就研究背后原理,次数多了,串起来也能逐渐完整,这种针对性强一点,要求每次都要弄懂原理而不仅仅是解决问题。最后,无论学习什么,要掌握并熟练这门技术,都需要有大量的实践和理论支撑,脚踏实地最为重要。