编译 MVC View

默认MVC的 View页面 不参与编译,当更改view对应model后,view编译也能通过,或者页面有错误的服务端代码时也不会报错。

那么如何在编译的时候能让View中的错误也不能通过呢。经过查找找到了方法,本机MVC5.0 适用,其他版本未试。

当然,开启这个后,会对编译速度有一定影响,每次生成项目都会慢一点

方法:

一、修改 .csproj 工程文件,用txt记事本打开。

二、找到<Project>节点在<PropertyGroup>最前面加入<MvcBuildViews>true</MvcBuildViews>。

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

三、在工程文件最下面,取消<Target Name="AfterBuild">注释,并加入如下属性:

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

搞定。实测效果如图:

修改工程前不报错,正常编译;

修改工程后:

image

以后不小心改了页面什么东西,或者后台model,通用方法后,就能知道关联页面哪有哪些了。

还有一种方法在nuget中引入RazorGenerator 。

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

原文地址:https://www.cnblogs.com/miralce/p/6288743.html