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>