.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文件夹完整的躺在发布文件夹中。

Last modification:January 7, 2021
如果觉得我的文章对你有用,请随意赞赏