编译 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

相关文章
相关标签/搜索