默认情况下,Visual Studio仅检查CSHTML文件的构建错误(如果它们在构建时打开)。我想在构建闭包的CSHTML文件时实现这一点。
我在这篇文章中看到过:How to compile cshtml before runtime或this post
解决方案很简单,只需在csproj文件中设置:
<MvcBuildViews>true</MvcBuildViews>
不幸的是,这会引发它在临时文件夹中生成的cs文件中的错误。 cs文件是转换后的cs html文件,并且它们本身不可编译,因此我得到了各种实际上不存在的构建错误。
我目前的解决方案是保持MvcBuildViews设置为false,然后在构建之前手动打开项目中的所有CSHTML文件。
是否有针对跳过临时文件的修复方法,或者打开所有CSHTML文件的方式更有效?
答案 0 :(得分:0)
是否有针对跳过临时文件的修复程序,或者打开所有CSHTML文件的更有效方法?
唯一受支持的方式是<MvcBuildViews>
项目配置元素。它是由MsBuild支持的,它允许未加工的构建工作。这是检查视图中的构建错误的最有效方法。
cs文件是转换后的cs html文件
这是什么意思?视图为vbhtml
或cshtml
。没有.cs
扩展程序的观看次数。
如果不添加正确的配置元素(下面),当cshtml
文件转换为.cs
(中间文件)然后编译时,您可能会遇到一些奇怪的错误。
不幸的是,这会引发它在临时文件夹中生成的cs文件中的错误。
使用<MvcBuildViews>
时,有大量答案(1 2 3 4}。
了解MVC项目(实际上是Web项目)的重要一点是,每个视图都默认编译在项目的obj / bin目录中。当IIS和IIS Express尝试再次编译视图(当它们已经存在时)时,通常会出现此问题。因此,上面列出的修复程序将编译目录更改为项目外的目录。