.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中,必须设置 RazorCompileOnBuild, MvcRazorCompileOnPublish 两个属性
下面看下这两个属性的官方定义:
作为项目构建的一部分,以下属性控制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
莫谈他人高薪,且看闲时谁在拼.