かわろぐ

技術、ボルダリング、セキュリティ、その他もろもろ

MENU

MSBuild で ASP.NET MVC の View をプリコンパイルする

環境

  • Windows 10
  • Visual Studio 2015 Pro

Visual Studio では View はプリコンパイルされない

VisualStudio のビルドはデフォルトでは View をプリコンパイルしてくれず、実行時にコンパイルされます。 つまり、通常のビルドでは View 内に書いた C# のコードが間違っていてもビルドでは発見出来ないということになります。自分も1回機械的に名前変更して、View 内の変更が漏れていて大変な目に合ったことがあります。

View をプリコンパイルする

では View をプリコンパイルするには MSBuild をつかって View のあるディレクトリで下記のコマンドを実行すればプリコンパイルしてくれます

MSBuild /t:MvcBuildVews /p:MvcBuildViews=true

ちなみに Visual Studio でもプロジェクトファイルを直接修正して下記のように MvcBuildViews オプションを有効にするとビルド時に一緒に View をプリコンパイルしてくれます。若干ビルドが遅くなりますので、常時オンはおすすめしません。

<propertyGroup>
  ...
  <MvcBuildViews>true</MvcBuildViews>
  ...

大変な目に合ってからと言うもの、以前のエントリで紹介した、必要なプロジェクトをすべてビルドするのと、この MvcBuildViews は開発中の心強いお供になりました。Jenkinsおじさんを怒らせないために!