gpt4 book ai didi

c# - 如何在构建期间检查 View 文件是否存在构建错误(不打开)

转载 作者:太空狗 更新时间:2023-10-29 20:41:46 27 4
gpt4 key购买 nike

默认情况下,如果 CSHTML 文件在您构建时处于打开状态,Visual Studio 只会检查这些文件是否存在构建错误。我也想在构建封闭的 CSHTML 文件时实现这一点。

我在这篇文章中看到:How to compile cshtml before runtimethis post

解决方案很简单,只需在 csproj 文件中设置即可:

<MvcBuildViews>true</MvcBuildViews>

不幸的是,这开始在临时文件夹中生成的 cs 文件中引发错误。 cs 文件是转换后的 cs html 文件,它们本身是不可编译的,因此我得到了实际上并不存在的各种构建错误。


我目前的解决方案是,我保持 MvcBuildViews 设置为 false,然后在构建之前手动打开项目中的所有 CSHTML 文件。

是否有跳过临时文件的修复方法,或者比打开所有 CSHTML 文件更有效的方法?

最佳答案

Is there a fix for skipping the temp files, or a more efficient way than opening all the CSHTML files?

唯一支持的方式是 <MvcBuildViews>项目配置元素。它由 MsBuild 提供支持,允许无人值守的构建工作。这是检查 View 中构建错误的最有效方法。

The cs files are the converted cs html files

这是什么意思?意见是vbhtmlcshtml . .cs 没有 View 扩展名。

如果不添加正确的配置元素(如下),当 cshtml 时,您可能会遇到一些奇怪的错误。文件转换为 .cs (中间文件)然后编译。

Unfortunately this starts raising errors in cs files that it generates in temp folders.

关于使用 <MvcBuildViews> 有很多答案 ( 1 2 3 4 ) .

了解 MVC 项目(实际上是一般的 Web 项目)的重要一点是,每个 View 都默认编译在项目的 obj/bin 目录中。问题通常存在于当 IIS 和 IIS Express 尝试再次编译 View 时,当它们已经存在时。因此,上面列出的修复将编译目录更​​改为项目外的目录。

关于c# - 如何在构建期间检查 View 文件是否存在构建错误(不打开),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193454/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com