我有一些用于呈现 PDF 的 .cshtml 模板。
当我部署到生产环境时,它们会被预编译并包含文本“这是由预编译工具生成的标记文件,不应删除!” 有没有办法告诉 ASP.NET 不要预编译特定的子文件夹?我想也许我可以在 web.config 中做到这一点,但我找不到它。
我有一些用于呈现 PDF 的 .cshtml 模板。
当我部署到生产环境时,它们会被预编译并包含文本“这是由预编译工具生成的标记文件,不应删除!” 有没有办法告诉 ASP.NET 不要预编译特定的子文件夹?我想也许我可以在 web.config 中做到这一点,但我找不到它。
我知道这已经 2 年了,但最近我偶然发现了同样的问题,但由于我需要 MVC 和电子邮件的视图,我不能简单地更改文件的扩展名。
在搜索解决方案时,我找到了这个文档aspnet_compiler
和-u
选项,它代表Updatable,它在编译后保持原始文件完好无损。
为了实现所需的行为,我将发布配置文件配置如下:
在跳入此解决方案之前,您应该仔细阅读此选项的含义。在我提供的链接中,有一个预编译决策矩阵可以帮助您做出决定。
即使将构建操作设置为“无”并打开复制到输出目录,我也无法阻止视图被编译。
我最终将文件的扩展名更改为 .prod,将内容类型设置为“内容”,并将它们设置为使用 Visual Studio 中的 HTML 编辑器打开,以使一切按我想要的方式工作。