如何讓 ASP.NET MVC View 中的錯誤可以在編譯時期被揭露

有些時候可能因為手誤或是 code merge 的異常而造成 View 被改壞,雖然 View 壞掉很容易修改,但給人的觀感還是很差,畢竟畫面一開起來就壞,感覺像是完全沒檢查就上線,加上如果專案已有嚴謹的上線流程,就會形成改 View 三秒,處理上線的流程超過 三十分鐘的冏狀,所以今天就來看看我們可以怎麼設定,讓 Visual Studio 在 compile 時就抓出基本的異常

情境說明

  1. 使用 ASP.NET MVC 預設 project template 建立專案
  2. 使用 .NET Framework 4.6.2
  3. 使用預設專案範本的登入功能(AccountController 的 login action)
  4. 模擬 view 改壞

    1error

預設情境

  • View 有錯誤但 build success

    2default

如何修改

  • 編譯 View 的功能需手動修改 .csproj 檔

    1. 將專案卸載

      • 專案上按右鍵 –> Unload Project

        3unload

    2. 編輯 csproj

      • 已卸載專案上按右鍵 –> Edit *.csproj

        4edit

    3. 修改設定

      • 搜尋 MvcBuildViews

        5mvcbuildview

      • 將值改為 true

        6true

  • 重新載入專案

    • 已卸載專案上按右鍵 –> Reload Project

      7reload

效果

  • View 有錯誤且已出現 Build error

    8buildfail

提醒

啟用 MvcBuildViews 可以在 compile 時期檢查 View 的異常,但因為 Build View 會讓 build 的工作增加,如果 view 的數量眾多就會嚴重拖慢效能,建議可以設定 release mode 再啟用