2019年7月10日 星期三

名稱'ViewBag' 不存在於目前的內容中


已經忘了是從什麼時候專案裡cshtml的@ViewBag下面都跑出了擾人紅色毛毛蟲,包含連@Url, @Style, @Script 等都有出現,雖然在執行、發佈上是完全沒有任何問題,但在coding的時候還是會造成麻煩,所以決定一定要把它給處理掉。
上網搜尋了幾個方法,找到了幾個方向

1.View/Web.config修正













如果從空白專案開始,有可能會少了View/Web.config這個檔案
但我原本的web.config就好好的,所以…無效!!

2.刪除快取

將C:\Users\your.name.here\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache 底下的文件刪除,再重啟vs

 把快取刪掉再重新產生,感覺蠻有機會 應該是快取錯亂才找不到ViewBag吧。
 但實驗結果…失敗,毛毛蟲依舊存在

3.Resetting user data

這動作會需要重新登入microsoft帳號
執行以下指令
devenv.exe /resetuserdata
 並刪除.vs 資料夾

結果…還是一樣!!(怒

4. webconfig 版號確認

我有另一個專案是用mvc5, 就沒這個問題,
所以我把這個專案從mvc4 更新到mvc5,但還是一樣有毛毛

在思考會不會是版本的引用上面有錯誤,

後來發現原來是webpage:version的值之前被我改到,拿去做其它用途,
但它原來是會驗證元件版本的key,改回原本版號就ok了






繞了一圈,結果還是回到web.config上
上了一課,不知道的key還是不要亂動~>"<


參考
stackoverflow
stevefenton

沒有留言:

張貼留言

使用MVC Bundle後,CSS參考的相對路徑不對了??

MVC Bundle相當好用,可以把一堆css, js包在一起 bundles.Add(new StyleBundle("~/css/main").Include( "~/Content/Layout/main.css", ...