asp.net core mvc razor动态编译

开发mvc过程中razor页面需要重启才能编译,非常麻烦,能否实现动态编译,微软官方提供了一个包能实现

新建.net 6 mvc项目

安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

修改csproj

xml 复制代码
<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
	    <!--下面两行代码是生产环境使用需要添加,测试环境无需处理csproj-->
        <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
        <RazorCompileOnBuild>false</RazorCompileOnBuild>
    </PropertyGroup>
</Project>

修改program.cs

cs 复制代码
namespace WebApplication2;

public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);
        var mvcBuilder = builder.Services.AddControllersWithViews();
        //核心代码在这
        if (builder.Environment.IsDevelopment())
        {
            //添加razor页面动态编译
            mvcBuilder.AddRazorRuntimeCompilation();
        }
        var app = builder.Build();
        app.UseRouting();
        app.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        app.Run();
    }
}

目前测试.net8不行

参考

https://github.com/dotnet/aspnetcore/issues/52248
https://techcommunity.microsoft.com/t5/net-runtime/net-8-0-2-update-causes-asp-net-core-mvc-index-view-not-found/m-p/4058976
https://cloud.tencent.com/developer/article/1020241
https://learn.microsoft.com/zh-cn/aspnet/core/mvc/views/view-compilation?view=aspnetcore-8.0&tabs=visual-studio
https://www.cnblogs.com/rupeng/p/15872803.html

相关推荐
IT_陈寒9 分钟前
Vue3性能优化实战:这5个技巧让我的应用加载速度提升了40%
前端·人工智能·后端
长征coder10 分钟前
SpringCloud服务优雅下线LoadBalancer 缓存配置方案
java·后端·spring
ForteScarlet23 分钟前
Kotlin 2.3.0 现已发布!又有什么好东西?
android·开发语言·后端·ios·kotlin
Json____24 分钟前
springboot框架对接物联网,配置TCP协议依赖,与设备通信,让TCP变的如此简单
java·spring boot·后端·tcp/ip
程序员阿明26 分钟前
spring boot 3集成spring security6
spring boot·后端·spring
后端小张26 分钟前
【JAVA 进阶】深入拆解SpringBoot自动配置:从原理到实战的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·springboot
草莓熊Lotso29 分钟前
C++11 核心进阶:引用折叠、完美转发与可变参数模板实战
开发语言·c++·人工智能·经验分享·后端·visualstudio·gitee
Q_Q51100828531 分钟前
小程序springBoot新农村综合风貌旅游展示平台
vue.js·spring boot·后端
风象南32 分钟前
Docker 容器实现按顺序启动
后端
BingoGo35 分钟前
10 个强大且值得掌握的 Linux 命令
后端