默認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
修改工程後:編譯
之後不當心改了頁面什麼東西,或者後臺model,通用方法後,就能知道關聯頁面哪有哪些了。
還有一種方法在nuget中引入RazorGenerator 。
參考:http://stackoverflow.com/questions/383192/compile-views-in-asp-net-mvc