ASP.NET MVC - Helper Namespace錯誤

09 January 2012 — Written by Sky Chang
#ASP.NET#ASP.NET MVC

最近開啟了一個很久沒開的專案,想說拿來試著升級到最新版的ASP.NET MVC,不看還好,一看,就整個吐血;整個的View都產生如下面畫面的錯誤。

image

錯誤訊息如下。

System.Web.WebPages.Html.HtmlHelper' 不包含 xxx 的定義,也找不到擴充方法 xxx 來接受型別 'System.Web.WebPages.Html.HtmlHelper' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

簡單的說,就是Namespace錯誤的問題,原則上MVC的Html Helper的命名空間是System.Web.MVC.HtmlHelper底下,但是這邊卻是取尋找System.Web.WebPages.Html.HtmlHelper,所以產生了這樣的錯誤。

後來查了一下這個專案的參考項目,發現不知道為啥有裝了這個套件,本來以為是這個問題,但移除之後,還是有相同的問題。

image

既然如此,就去Web.config查吧,最後終於發現少了這一行。

<add key="webpages:Version" value="1.0.0.0"/>

後來把他補上去後,重新載入專案後,就可以了 ( 以下是要塞入的位置 )

<configuration>
  <appSettings>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <connectionStrings>

至於為什麼會少,老實說,已經年代久遠,無可考了,總之就在這邊紀錄一下吧。

Sky & Study4.TW