.net core的mvc项目默认会把views文件夹编译成dll,如果发布之后交付给第三方,第三方以后就不能自己修改页面了。这时候就要设置成发布时不编译views文件夹,网上的很多方法都不完整,导致没有效果,我整理了下,亲测有效,适用于.net core 3.1,方法如下:
1.在Web项目中添加包,并添加Startup设置
先要安装包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
,之后在 Startup.cs
中添加设置:
services.AddControllersWithViews()
.AddRazorRuntimeCompilation();
2.设置项目的配置文件
编辑Web项目的csproj文件,在第一个PropertyGroup
节点中增加:
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<RazorCompileOnPublish>false</RazorCompileOnPublish>
之后如下所示:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<RazorCompileOnPublish>false</RazorCompileOnPublish>
</PropertyGroup>
3.完成
保存之后重新发布,就能看到效果了,Views文件夹完整的躺在发布文件夹中。
本文作者:老徐
本文链接:https://bigger.ee/archives/725.html
转载时须注明出处及本声明