.net core视图预编译

1.前言

   ASP.NET Core在默认发布情况下,会启动预编译将试图编译成xx.Views.dll,不会生成View文件夹,此时需要一个配置,但是在.net core3.0之前这个配置又有一些不同.

2.在.net core2.1中 

在Web项目工程文件.csproj中做如下设置即可

 <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
 </PropertyGroup>

3.在.net core3.1中

在Web项目工程文件.csproj中做如下设置即可

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <!--视图文件-->
    <RazorCompileOnBuild>false</RazorCompileOnBuild>
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
    <!--只要不是语言包文件夹名称就行 用于去掉生成多余的语言包-->
    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
  </PropertyGroup>

由此看出,在.net core3.1中,必须设置 RazorCompileOnBuildMvcRazorCompileOnPublish  两个属性

下面看下这两个属性的官方定义:

作为项目构建的一部分,以下属性控制Razor的SDK行为:

RazorCompileOnBuild–在时true,编译并发出Razor程序集,作为构建项目的一部分。默认为true。
RazorCompileOnPublish–时true,编译并发出Razor程序集,作为发布项目的一部分。默认为true。

 

 

资料来源:

https://docs.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-3.1#properties

posted @ 2020-04-22 15:17  阳光下的行者  阅读(445)  评论(0编辑  收藏  举报