2

我有一些用于呈现 PDF 的 .cshtml 模板。

当我部署到生产环境时,它们会被预编译并包含文本“这是由预编译工具生成的标记文件,不应删除!” 有没有办法告诉 ASP.NET 不要预编译特定的子文件夹?我想也许我可以在 web.config 中做到这一点,但我找不到它。

4

2 回答 2

2

我知道这已经 2 年了,但最近我偶然发现了同样的问题,但由于我需要 MVC 和电子邮件的视图,我不能简单地更改文件的扩展名。

在搜索解决方案时,我找到了这个文档aspnet_compiler-u选项,它代表Updatable,它在编译后保持原始文件完好无损。

为了实现所需的行为,我将发布配置文件配置如下:

  • Publish对话框的Settings选项卡上展开File Publish Options并检查Precompile during publishing在此处输入图像描述
  • 单击复选框后的配置链接并选中允许预编译站点可更新 在此处输入图像描述

警告

在跳入此解决方案之前,您应该仔细阅读此选项的含义。在我提供的链接中,有一个预编译决策矩阵可以帮助您做出决定。

于 2016-01-07T01:50:15.127 回答
0

即使将构建操作设置为“无”并打开复制到输出目录,我也无法阻止视图被编译。

我最终将文件的扩展名更改为 .prod,将内容类型设置为“内容”,并将它们设置为使用 Visual Studio 中的 HTML 编辑器打开,以使一切按我想要的方式工作。

于 2013-11-06T15:58:57.607 回答