編譯 MVC View

默認MVC的 View頁面 不參與編譯,當更改view對應model後,view編譯也能經過,或者頁面有錯誤的服務端代碼時也不會報錯。mvc

那麼如何在編譯的時候能讓View中的錯誤也不能經過呢。通過查找找到了方法,本機MVC5.0 適用,其餘版本未試。ui

固然,開啓這個後,會對編譯速度有必定影響,每次生成項目都會慢一點spa

方法:code

1、修改 .csproj 工程文件,用txt記事本打開。xml

2、找到<Project>節點在<PropertyGroup>最前面加入<MvcBuildViews>true</MvcBuildViews>。blog

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

3、在工程文件最下面,取消<Target Name="AfterBuild">註釋,並加入以下屬性:get

<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>

搞定。實測效果如圖:it

修改工程前不報錯,正常編譯;io

修改工程後:編譯

image

之後不當心改了頁面什麼東西,或者後臺model,通用方法後,就能知道關聯頁面哪有哪些了。

還有一種方法在nuget中引入RazorGenerator 。

參考:http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc

相關文章
相關標籤/搜索