CS0246: The type or namespace name 'xxx' could not be found

在複製同事專案&改專案名,遺漏了某個地方忘了修改,結果出現以下錯誤訊息
(以下範例是模擬的)
CS0246: The type or namespace name 'xxx' could not be found (are you missing a using directive or an assembly reference?)

原始程式錯誤:

顯示完整的編譯原始程式:

行 1:    #pragma checksum "D:\Projects\VS2015\測試用\mvc02\mvc02\Views\Home\Index.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9C098795CCC1BF2E8A30DD9F135752AD0BA59910"
行 2:    //------------------------------------------------------------------------------
行 3:    // <auto-generated>
行 4:    //     這段程式碼是由工具產生的。
行 5:    //     執行階段版本:4.0.30319.42000
行 6:    //
行 7:    //     對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
行 8:    //     變更將會遺失。
行 9:    // </auto-generated>
行 10:   //------------------------------------------------------------------------------
行 11:   
行 12:   namespace ASP {
行 13:       using System;
行 14:       using System.Collections.Generic;
行 15:       using System.IO;
行 16:       using System.Linq;
行 17:       using System.Net;
行 18:       using System.Web;
行 19:       using System.Web.Helpers;
行 20:       using System.Web.Security;
行 21:       using System.Web.UI;
行 22:       using System.Web.WebPages;
行 23:       using System.Web.Mvc;
行 24:       using System.Web.Mvc.Ajax;
行 25:       using System.Web.Mvc.Html;
行 26:       using System.Web.Routing;
行 27:       using mvc01;
行 28:       
行 29:       
行 30:       public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage<dynamic> {
行 31:           
行 32:   #line hidden
行 33:           
行 34:           public _Page_Views_Home_Index_cshtml() {
行 35:           }
行 36:           
行 37:           protected ASP.global_asax ApplicationInstance {
行 38:               get {
行 39:                   return ((ASP.global_asax)(Context.ApplicationInstance));
行 40:               }
行 41:           }
行 42:           
行 43:           public override void Execute() {
行 44:   BeginContext("~/Views/Home/Index.cshtml", 0, 2, true);
行 45:   
行 46:   WriteLiteral("\r\n");
行 47:   
行 48:   EndContext("~/Views/Home/Index.cshtml", 0, 2, true);
行 49:   
行 50:               
行 51:               #line 2 "D:\Projects\VS2015\測試用\mvc02\mvc02\Views\Home\Index.cshtml"
行 52:     
行 53:       ViewBag.Title = "Index";
行 54:   
行 55:               
行 56:               #line default
行 57:               #line hidden
行 58:   BeginContext("~/Views/Home/Index.cshtml", 37, 22, true);
行 59:   
行 60:   WriteLiteral("\r\n\r\n<h2>Index</h2>\r\n\r\n");
行 61:   
行 62:   EndContext("~/Views/Home/Index.cshtml", 37, 22, true);
行 63:   
行 64:           }
行 65:       }
行 66:   }
行 67:  

 

因為專案是複製&改名的,所以 .cs 的錯誤,透過 compiler 都可以很快速的找出錯誤的地方
但是 compiler 提示的錯誤修正後,一直檢查 Controller、View 上面的 引用命名空間 都沒找到上面出錯的點

後來才想到 Views 裡面的 Web.config 有共同引用的命名空間宣告
一修正後,這個錯誤就解了

留個記錄,加深印象 XD