在asp.net core 2中,有没有办法部署未编译的.cshtml文件?

时间:2018-03-16 12:00:19

标签: asp.net asp.net-mvc razor asp.net-core-2.0 webdeploy

我正在使用RazorLight将razor模板(.cshtml文件)呈现给字符串,然后我在电子邮件中使用它们。

这在开发中工作正常,但在部署时(通过WebDeploy到Azure应用服务),所有.cshtml文件都被编译为[Project] .PrecompiledViews.dll,因此我无法访问原始.cshtml。 ..还有其他方法可以解决这个问题,例如将模板存储在数据库或blob存储中,但只需简单地将模板与项目一起发布即可。使它们成为嵌入式资源可能是一种选择,虽然这感觉有点难看。

我已经尝试将它们复制到我的wwwroot文件夹中,将它们标记为Copy Always,并且我已经研究了几个小时。到目前为止没有运气。有没有办法让这项工作,也许是在.csproj级别?

1 个答案:

答案 0 :(得分:1)

是的。与早期版本的.Net Core一样,可以部署原始CHTML文件。 我们必须在csproj文件中将以下属性设置为false:

            MvcRazorCompileOnPublish

有关更多信息,请参考此位置: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-2.1