900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > .Net Core Razor 预编译 动态编译 混合编译

.Net Core Razor 预编译 动态编译 混合编译

时间:2022-10-29 06:51:44

相关推荐

.Net Core Razor 预编译 动态编译 混合编译

预编译

预编译是Core的默认方式。在发布时,默认会将系统中的所有Razor视图进行预编译。编译好的视图DLL统一命名为xxx.PrecompiledViews.dll或者xxx.Views.dll

动态编译

将项目整个配置成动态编译很简单,添加一个配置项目MvcRazorCompileOnPublish,值为false即可

这样在发布的时候,所有的Razor视图都不会被预编译了,并且所有的视图都会一同被发布。

注意:在2.2以后,仅在开发环境下,修改视图可时时生效。发布以后产线环境修改视图是不会立即生效的,要重启程序才会生效。详细可参阅:/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-2.2

如果希望在产线环境也可以修改视图时时生效,需要主动设置RazorViewEngineOptions.AllowRecompilingViewsOnFileChange的值为true

然后添加到容器中:

混合编译

预编译和动态编译都有各自的优点,你可以选择将它们混合起来使用。例如如果你希望在发布时只预编译部分视图,而部分视图要采用动态编译的模式,可以在项目文件上配置排除不需要预编译的视图。例如将Views目录下的全部进行预编译,而主题目录和邮件模板目录下的视图不需要预编译:

进阶

关于更多Razor的配置,可以参阅微软的官方说明文档:/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-2.2

原文地址:/codesnippet/detail/razor-compilation.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。