• <output id="56njw"></output>
    1. <dl id="56njw"></dl>

        <dl id="56njw"></dl>

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

          发布:51Code 时间: 2019-04-23 15:55

        • 预编译 预编译是ASP .Net Core的默认方式。在发布时,默认会将系统中的所有Razor视图进行预编译。编译好的视图DLL统一命名为 xxx.PrecompiledViews.dll 或者 xxx.Views.dll 动态编译 将项目整个配置...

        • 预编译

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

          动态编译

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

          <PropertyGroup>

            <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>

          </PropertyGroup>

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

          注意:在ASP .Net 2.2?#38498;螅?#20165;在开发环境下,修改视图可时时生效。发布?#38498;?#20135;线环境修改视图是不会立即生效的,要重启程序才会生效。详细可参阅:https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-2.2

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

          然后添加到容器中:

          services.TryAddEnumerable(ServiceDescriptor.Singleton<IConfigureOptions<RazorViewEngineOptions>, RazorViewEngineOptionsSetup>());

          混合编译

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

          <ItemGroup>

            <MvcRazorFilesToCompile Include="Views\**\*.cshtml" Exclude="wwwroot\themes\**\*.cshtml;EmailTemplates\**\*.cshtml" />

          </ItemGroup>

          进阶

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

          文章来源:http://www.zkea.net/codesnippet/detail/razor-compilation.html
          如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。
        • 上一篇:.NET 泛型,详细介绍

          下一篇?#22909;?#26377;了

        网站导航
        Copyright(C)51Code软件开发网 2003-2019 , 沪ICP备05003035号-6
        凤凰时时彩平台

      1. <output id="56njw"></output>
        1. <dl id="56njw"></dl>

            <dl id="56njw"></dl>

          1. <output id="56njw"></output>
            1. <dl id="56njw"></dl>

                <dl id="56njw"></dl>

                双双大床红利扑克1手 不给糖就捣蛋返水 网狐通比牛牛 天天炫斗炫炫厉害吗 1980年属猴幸运数字 切沃vs国米分析 七乐彩开奖结果查询 拳皇98ol火草 爵士vs76人 浮冰流官网