[小菜一碟] 如何讓 ASP.NET Core MVC 的 Razor View 在開發時期即時編譯?

ASP.NET Core 在發佈的時候,會將 Razor View 採用預先編譯的方式,這一點改變讓 Web 應用程式啟動得更快,但是在開發時期也是這樣就讓我挺不習慣的,原本我以為在開發時期即時編譯 Razor View 的功能,會在 Visual Studio 2019 v16.6 加進來,不過它似乎提早了

Enable Razor runtime compilation

我的 Visual Studio 2019 的版本是 v16.5.4,某天我在建 MVC 專案的時候,看到了一個選項「Enable Razor runtime compilation」,這個選項是從 ASP.NET Core 3.1 開始加進來的。

ASP.NET Core 3.1 之前的版本要做的話,需要改一點設定、加一點程式碼,請參考官網的說明

當我們勾選了之後,專案就會自動安裝 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 這個套件,並且在 Properties\launchSettings.json 檔案中增加了 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES 這個環境變數。

經過這麼一弄之後,在開發時期,修改 Razor View 的內容,重新整理頁面就會重新編譯。

而且既有的專案,照著上面的描述該安裝的套件裝一裝、該修改的設定改一改,一樣有作用。

參考資料

C# 指南 ASP.NET 教學 ASP.NET MVC 指引
Azure SQL Database 教學 SQL Server 教學 Xamarin.Forms 教學