默认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>

搞定。实测效果如图:

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

修改工程后:

编译 MVC View

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

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

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

相关文章:

  • 2021-11-23
  • 2021-10-29
  • 2021-10-03
  • 2021-12-11
  • 2021-06-28
  • 2022-02-10
  • 2021-12-31
  • 2022-12-23
猜你喜欢
  • 2021-06-25
  • 2021-12-01
  • 2021-09-08
  • 2021-12-05
  • 2021-08-27
  • 2021-12-03
相关资源
相似解决方案