Razor Viewのプリコンパイル
2018/09/12
プリコンパイルすると
- 発行後のサイズが小さくなる
- 起動が速くなる
プリコンパイルしないと
- サーバー側でコードの変更が可能(PHPやRubyのような使い方が可能)
プリコンパイルのON/OFF
プリコンパイルにはprecompilation tool(3.0で廃止予定)を使う方法とRazor SDKを使う方法がある。Razor SDKではデフォルトでプリコンパイルされる。
Razor SDKを使わない場合
.csprojファイルのMvcRazorCompileOnPublishでON/OFF<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish> </PropertyGroup> … 省略 </Project>
Razor SDKを使う場合
Microsoft.NET.Sdk.RazorがなければNugetでインストール。デフォルトでプリコンパイルするので、下記はしないようにする場合
のはずですが、MVCでは上手くいきましたが、RazorページではMicrosoft.NET.Sdk.Razorを指定したとたん、Nugetが上手くいかない…。この変な日本語が理解できない。
<Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <RazorCompileOnBuild>false</RazorCompileOnBuild> <RazorCompileOnPublish>false</RazorCompileOnPublish> </PropertyGroup> … 省略 </Project>