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>