はじめに
.NETCore3.0になりrazorのViewがプリコンパイルされるようになりました
発行時にはパフォーマンス向上などメリットもあるのですが、開発時はViewを変更するたびに再起動しなければ反映されないので非常に面倒です
2.2以前のようにViewのcshtmlの更新が即座に反映される方法を調査しました
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
nugetで Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilationをインストールします
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 5.0.1
Runtime compilation support for Razor views and Razor Pages in ASP.NET Core MVC. This package was built from the source code at
Startup.csを書き換える
services.AddControllersWithViews();
上記コードを下記のように書き換えます
.NETCoreでも#if DEBUG
を使うことでデバック時のみ実行されるブロックを定義できます
#if DEBUG
services.AddControllersWithViews().AddRazorRuntimeCompilation();
#else
services.AddControllersWithViews();
#endif
おわりに
これでViewを変更後、ブラウザをリロードすると変更が反映されるようになりました