如何在构建期间检查视图文件是否存在构建错误(未打开)
本文关键字:构建 错误 存在 是否 文件 视图 检查 | 更新日期: 2023-09-27 18:08:18
默认情况下,Visual Studio只在构建时打开CSHTML文件时检查构建错误。我想在构建封闭的CSHTML文件时也这样做。
我在这篇文章中看到:如何在运行前编译cshtml或这篇文章
解决方案很简单,只需在csproj文件中设置:<MvcBuildViews>true</MvcBuildViews>
不幸的是,这会在它在临时文件夹中生成的cs文件中引发错误。cs文件是转换后的cs html文件,它们本身是不可编译的,因此我得到了各种实际上不存在的构建错误。
我目前的解决方案是,我保持MvcBuildViews设置为false,然后在构建之前手动打开项目中的所有CSHTML文件。
是否有跳过临时文件的修复,或者比打开所有CSHTML文件更有效的方法?
是否有跳过临时文件的修复,或者比打开所有CSHTML文件更有效的方法?
唯一支持的方式是<MvcBuildViews>
项目配置元素。它由MsBuild支持,它允许无人参与的构建工作。这是检查视图中构建错误的最有效的方法。
cs文件是转换后的cs html文件
那是什么意思?视图类型为vbhtml
或cshtml
。没有扩展名为.cs
的视图。
如果不添加正确的配置元素(如下),当将cshtml
文件转换为.cs
(中间文件)然后编译时,您可能会得到一些奇怪的错误。
不幸的是,这会在它在临时文件夹中生成的cs文件中引发错误。
使用<MvcBuildViews>
有很多答案(1 2 3 4)。
了解MVC项目(实际上是一般的web项目)的重要事情是,默认情况下,每个视图都在项目的obj/bin目录中编译。当IIS和IIS Express尝试再次编译视图时,当视图已经存在时,通常会存在这个问题。因此,上面列出的修复将编译目录更改为项目外部的目录。