c# - 如何在运行前编译 cshtml 而不是在临时文件上抛出构建错误

标签 c# asp.net-mvc-4 razor visual-studio-2013

这是我已实现的问题“How to compile cshtml before runtime”的扩展。

我面临的问题是,当我强制 MVC 预构建 CSHTML 时,它也开始尝试构建所有临时文件。

它在这样的路径中查找文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\temp\272abf22\b789edae\App_Web_zej33svj.2.cs

由于这些文件是 CSHTML 文件的翻译(到它们的实际 CS 格式),并且本身不完整,因此会引发异常。这感觉就像一个坏掉的产品。 (这可能就是为什么微软只保留该选项 XML,并且不能通过 UI 配置的原因。)

最佳答案

为了编译 View 而不是将 MvcBuildViews 设置为 true,您可以使用 Razor Generator用于编译 View 。这是一个用于 Visual Studio 的自定义工具,它允许在设计时而不是运行时处理 Razor 文件,从而允许将它们构建到程序集中以便更简单地重用和分发。 当您想要发布您的 mvc 应用程序时,您必须将 MvcBuildViews 设置为 false。

关于c# - 如何在运行前编译 cshtml 而不是在临时文件上抛出构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193146/

相关文章:

javascript - MVC 4中ajax成功方法加载部分 View

c# - 如何检查 Razor 模板中的模型中的属性是否可用?

c# - 在特定于 ASP .NET MVC 5.1/HTML 5 中显示日期时间选择器而不是日期选择器

asp.net-mvc - 使用链接文本中的 html 元素创建 ajax actionlink

c# - 将公共(public)方法添加到公共(public)类是一个重大变化吗?

c# - 在 WinRT 应用程序中处理 2、3、4、5 个手指敲击、双击和按住手势

c# - 如何在没有副本的情况下将结构转换为字节数组?

c# - 如何在继续之前等待 StartCoroutine() 完成

asp.net - 没有任何 javascript 或 JQuery 的移动网络应用程序?

asp.net-mvc - Razor @helper函数不呈现任何HTML