解决 .NET CORE3.0 MVC视图层不即时编译

微软官方文档

Razor 编译

Razor SDK 默认启用 Razor 文件的生成时和发布时编译。 启用后,运行时编译将补充生成时编译,允许更新 Razor 文件(如果对其进行编辑)。

运行时编译

为所有环境和配置模式启用运行时编译:

  1. 安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet 包。
  2. 更新项目的 Startup.ConfigureServices 方法以包含对 AddRazorRuntimeCompilation 的调用。 例如:
public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages()
        .AddRazorRuntimeCompilation();

    // code omitted for brevity
}

有条件地启用运行时编译

启用运行时编译时可使其仅用于本地开发。 以这种方式有条件地启用可确保已发布的输出:

  • 使用编译视图。
  • 较小。
  • 不会在生产环境中启用文件观察程序。

基于环境和配置模式启用运行时编译:

根据活动的 Configuration 值,有条件地引用 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 包:

<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.0" Condition="‘$(Configuration)‘ == ‘Debug‘" />

更新项目的 Startup.ConfigureServices 方法以包含对 AddRazorRuntimeCompilation 的调用。 有条件地执行 AddRazorRuntimeCompilation,使其仅当 ASPNETCORE_ENVIRONMENT 变量设置为 Development时在调试模式下运行:

public IWebHostEnvironment Env { get; set; }

public void ConfigureServices(IServiceCollection services)
{
    IMvcBuilder builder = services.AddRazorPages();

#if DEBUG
    if (Env.IsDevelopment())
    {
        builder.AddRazorRuntimeCompilation();
    }
#endif

    // code omitted for brevity
}

原文地址:https://www.cnblogs.com/yunspider/p/12149131.html

时间: 2024-10-11 20:43:59

解决 .NET CORE3.0 MVC视图层不即时编译的相关文章

ASP.NET Core-解决 .NET CORE3.0 MVC视图层不即时编译

1.程序包管理器控制器输入(安装) Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 3.0.0-preview6.19307.2 2.在Startup.cs文件-->ConfigureServices方法下面注册services.AddMvc().AddRazorRuntimeCompilation() //添加在到AddMvc后 原文地址:https://www.cnblogs.com/fan

asp.net core3.0 mvc 用 autofac

好久没有写文章了,最近在用.net core3.0,一些开发中问题顺便记录: 1.首先nuget引入 Autofac Autofac.Extensions.DependencyInjection 2.修改Program.cs 添加.UseServiceProviderFactory(new AutofacServiceProviderFactory()) public class Program { public static void Main(string[] args) { CreateH

VS2019没有.net core3.0模板的解决办法

今天装好了,net core sdk 3.0之后,打开Visual Studio2019后,新建项目时发现尽然没有.net core3.0的模板. 搜了下其他博主的文章,按照文章里做了如下设置:   然后发现,这些设置没有用!!!依然显示不出3.0的模板. 经过一下午的折腾,重装了core sdk,重装了vs2019,终于发现了问题所在. 在官方网站上https://dotnet.microsoft.com/download/dotnet-core/3.0里面提到了v3.0.0-preview8

解决.NET Core MVC 视图中的中文被html编码的问题

在  .net core mvc 视图输出 变量的时候 默认使用的是 UnicodeRanges.BasicLatin  进行的编码 所以 输出中文后在查看源码的时候是进过编码了的 . 解决方案 在 Startup.cs 的 ConfigureServices() 方法中添加下面的一行代码: services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));--------------------- 作者:megoodtoo 来源:CSDN

ASP.NET Core 2.0 MVC项目实战

 一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是用的那种传统的开发模式,只有一个项目用到了Web API,自己负责后端的接口功能实现.既然现在没办法改变现状,那就先改变自己吧.定了个计划,下班后慢慢的开始学习ASP.NET Core Web API和Vue,准备从前端到后端自己写一个小项目玩玩,毕竟代码这个东西,时间长了是会忘的.       

说说视图层架构

前言 最近在思考关于iOS视图架构的一些东西,于是开始纠结MVC.MVVM等架构.由于项目里原来的代码比较乱,日积月累,维护的人也换了又换,可以说到了十分臃肿难以维护的地步.所以借某个机会得以对其进行重新设计.项目里的业务逻辑比较多,也比较乱.所以必须把架构做好,以方便后期的维护. 说回视图层架构,这阵子参考了很多资料,包括MVC.MVVM等,每个人的说法都不完全一致.只有一种解释,那就是架构模式不是一层不变的,而是在不断发展的,正如项目也在发展,项目的代码也在重构.所以,这篇文章谈到的不一定是

Python之路【第二十八篇】:django视图层、模块层

1.视图函数 文件在view_demo 一个视图函数简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你的Python目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中. 视图

肆拾陆 ---django视图层与模板层

django视图层与模板层 一.视图层 1.1 HttpResponse.render.redirect ? HttpResponse:返回字符串: ? redirect:重定向 ? render:返回一个html页面,也可以给模板传值 ? render的逻辑原理: from django.template import Template,Context def index(request): res = Template('<h1>{{ user }} </h1>') con =

MVC视图展现模式之移动布局解析-续集

网站就必须用响应式布局吗?MVC视图展现模式之移动布局:http://www.cnblogs.com/dunitian/p/5213787.html 有人会疑问,为什么他能识别.mobile的后缀却不能识别例如:.mac .dnt 等等后缀呢?这些又是放在哪里的呢? mobile 这个后缀其实是存放在:DisplayModeProvider.Instance.Modes 里面的,我们监视一下,发现里面就一个mobile,还有一个是默认的 可以猜想,运行的时候是从上往下匹配的,“”的是通用匹配,那