描述
今天忽然碰到一個這個錯誤:
“/”應用程序中的服務器錯誤。
分析器錯誤
說明: 在分析向此請求提供服務所需資源時出錯。請檢查下列特定分析錯誤詳細信息並適當地修改源文件。
分析器錯誤消息: 未能加載類型“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又在哪里,齊不齊全,結合出錯提示來排查問題。出現一個問題,然后深究它出現的原因,往往能夠了解更身一層的原理,並且記憶更加深刻。如果要達到那種出現問題一看就知道什么原因的程度,要么遇到並解決過此類問題要么知道它背后的原理。而要進行這個學習提高經驗,可以有如下做法:第一、找官網文檔或者研究源碼,弄懂原理,這種不經過大量實戰還是不能很好掌握;第二、每出現一個問題就研究背后原理,次數多了,串起來也能逐漸完整,這種針對性強一點,要求每次都要弄懂原理而不僅僅是解決問題。最后,無論學習什么,要掌握並熟練這門技術,都需要有大量的實踐和理論支撐,腳踏實地最為重要。