日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

netcore 编译 html dll,ASP.NET Core Razor 视图预编译、动态编译

發(fā)布時(shí)間:2025/3/15 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 netcore 编译 html dll,ASP.NET Core Razor 视图预编译、动态编译 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

0x01 前言

ASP.NET Core在默認(rèn)發(fā)布情況下,會(huì)啟動(dòng)預(yù)編譯將試圖編譯成xx.Views.dll,也許在視圖中打算修改一處很細(xì)小的地方我們需要再重新編譯視圖進(jìn)行發(fā)布。下面我將從 ASP.NET Core 3 之前版本到 ASP.NET Core 3X 之后版本的一個(gè)配置列下下方供大家參考。

0x02 預(yù)編譯

在ASP.Core中默認(rèn)是為我們啟動(dòng)的預(yù)編譯,默認(rèn)系統(tǒng)會(huì)將視圖編譯進(jìn)行預(yù)編譯處理,最終會(huì)將編譯好的視圖生成一個(gè)DLL xx.Views.dll.

0x03 動(dòng)態(tài)編譯

動(dòng)態(tài)編譯也就是當(dāng)我們視圖文件發(fā)生變化時(shí)進(jìn)行重新編譯和更新Razor文件

ASP.NET Core 3之前版本:

netcoreapp2.2

InProcess

false

false

通過(guò)上述代碼只能幫我們做到在開(kāi)發(fā)環(huán)境中進(jìn)行動(dòng)態(tài)編譯,那么我們需要加上如下代碼來(lái)實(shí)現(xiàn)我們生產(chǎn)環(huán)境中動(dòng)態(tài)編譯.

public void ConfigureServices(IServiceCollection services)

{

services.AddMvc().AddRazorOptions(options =>

options.AllowRecompilingViewsOnFileChange = true);

}

條件:

MvcRazorCompileOnPublish:設(shè)置此選項(xiàng)false將關(guān)閉在發(fā)布過(guò)程中啟用的視圖編譯的所有功能

MvcRazorExcludeViewFilesFromPublish:啟用MvcRazorCompileOnPublish可防止發(fā)布.cshtml文件。此選項(xiàng)禁用此行為。注意:ASP.NET Core Mvc不支持可更新的預(yù)編譯視圖。如果發(fā)現(xiàn)該路徑的預(yù)編譯視圖,則將忽略對(duì)已發(fā)布的cshtml文件的任何修改。

MvcRazorExcludeRefAssembliesFromPublish:啟用MvcRazorCompileOnPublish會(huì)使目標(biāo)阻止refs發(fā)布目錄。此選項(xiàng)禁用此行為。注意:如果您的應(yīng)用程序使用了預(yù)編譯視圖和運(yùn)行時(shí)編譯視圖的組合,則設(shè)置此選項(xiàng)很有用。

MvcRazorFilesToCompile:指定要編譯的視圖文件。默認(rèn)情況下,這包括標(biāo)記為內(nèi)容的所有.cshtml文件。

ASP.NET Core 3.X版本:

安裝NuGet包

Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

public void ConfigureServices(IServiceCollection services)

{

services.AddRazorPages()

.AddRazorRuntimeCompilation();

}

netcoreapp3.1

false

false

通過(guò)上述代碼我們可以在生產(chǎn)環(huán)境中也可以進(jìn)行動(dòng)態(tài)編譯,當(dāng)然我們可以通過(guò)條件來(lái)限制.

基于環(huán)境和配置模式啟用運(yùn)行時(shí)編譯:

根據(jù)活動(dòng)的 Configuration 值,有條件地引用 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 包:

更新項(xiàng)目的 Startup.ConfigureServices 方法以包含對(duì) AddRazorRuntimeCompilation 的調(diào)用。 有條件地執(zhí)行 AddRazorRuntimeCompilation,使其僅當(dāng) ASPNETCORE_ENVIRONMENT 變量設(shè)置為 Development時(shí)在調(diào)試模式下運(yùn)行:

public IWebHostEnvironment Env { get; set; }

public void ConfigureServices(IServiceCollection services)

{

IMvcBuilder builder = services.AddRazorPages();

#if DEBUG

if (Env.IsDevelopment())

{

builder.AddRazorRuntimeCompilation();

}

#endif

}

Reference

ASP.NET Core Razor 視圖導(dǎo)入 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程

原文:ASP.NET Core Razor 視圖導(dǎo)入 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程 ASP.NET Core Razor 視圖導(dǎo)入 上一章節(jié)我們介紹了視圖起始頁(yè),學(xué)習(xí) ...

ASP.NET Core Razor 視圖起始頁(yè) - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程

原文:ASP.NET Core Razor 視圖起始頁(yè) - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程 ASP.NET Core Razor 視圖起始頁(yè) 上一章節(jié)中我們介紹了布局視圖, ...

ASP.NET Core Razor 視圖組件

視圖組件簡(jiǎn)介 在新的ASP.NET Core MVC中,視圖組件類(lèi)似于局部視圖,但它們更強(qiáng)大.視圖組件不使用模型綁定,僅依賴(lài)于您在調(diào)用時(shí)提供的數(shù)據(jù). 視圖組件特性: 呈現(xiàn)頁(yè)面響應(yīng)的某一部分而不是整個(gè)響 ...

Asp.net MVC Razor視圖模版動(dòng)態(tài)渲染PDF,Razor模版生成靜態(tài)Html

Asp.net MVC Razor視圖模版動(dòng)態(tài)渲染PDF,Razor模版生成靜態(tài)Html 1.前言 上一篇文章我開(kāi)源了輪子,Asp.net Core 3.1 Razor視圖模版動(dòng)態(tài)渲染PDF,然后,很 ...

ASP.NET Core Razor 布局視圖 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程

原文:ASP.NET Core Razor 布局視圖 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程 ASP.NET Core Razor 布局視圖 上一章節(jié)中我們學(xué)習(xí)了如何使用 EF ...

C#中的函數(shù)式編程:遞歸與純函數(shù)(二) 學(xué)習(xí)ASP.NET Core Razor 編程系列四——Asp.Net Core Razor列表模板頁(yè)面

C#中的函數(shù)式編程:遞歸與純函數(shù)(二) ? 在序言中,我們提到函數(shù)式編程的兩大特征:無(wú)副作用.函數(shù)是第一公民.現(xiàn)在,我們先來(lái)深入第一個(gè)特征:無(wú)副作用. 無(wú)副作用是通過(guò)引用透明(Referential ...

ASP.NET Core Razor 標(biāo)簽助手 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程

原文:ASP.NET Core Razor 標(biāo)簽助手 - ASP.NET Core 基礎(chǔ)教程 - 簡(jiǎn)單教程,簡(jiǎn)單編程 ASP.NET Core Razor 標(biāo)簽助手 上一章節(jié)我們介紹了視圖導(dǎo)入,學(xué)習(xí)了 ...

隨機(jī)推薦

ubuntu 14.10 lts 64-bits環(huán)境下使用Android Studio

距離google發(fā)布android studio 1.0正式版已經(jīng)兩個(gè)月左右了.由于一直習(xí)慣使用eclipse+ADT的模式,而且曾在windows下試用一次Android Studio預(yù)覽版,感覺(jué)卡 ...

建字段_添加數(shù)據(jù)_生成json.php

HDU-4089 Activation

http://acm.hdu.edu.cn/showproblem.php?pid=4089 Activation Time Limit: 20000/10000 MS (Java/Others)?? ...

PreTranslateMessage和TranslateMessage區(qū)別

PreTranslateMessage是消息在送給TranslateMessage函數(shù)之前被調(diào)用的,絕大多數(shù)本窗口的消息都要通過(guò)這里,比較常用,當(dāng)需要在MFC之前處理某些消息時(shí),常常要在這里添加代碼. ...

php基礎(chǔ)運(yùn)算符語(yǔ)句

/* 多行注釋 *///常用數(shù)據(jù)類(lèi)型//int string double/float bool//變量的定義$a = 123;$b = "123";$c = '456';//$d ...

我們是80后 golang入坑系統(tǒng)

現(xiàn)在這個(gè)系列,已經(jīng)開(kāi)始兩極分化了. 點(diǎn)贊的認(rèn)為風(fēng)格輕松,看著不困.反之,就有人嫌寫(xiě)的羅里吧嗦,上綱上線(xiàn).所以善意提醒,里面不只是技術(shù)語(yǔ)言,還有段子.專(zhuān)心看技術(shù)的,千萬(wàn)別點(diǎn)!別怪我沒(méi)提醒!差點(diǎn)忘說(shuō),版權(quán) ...

oracle 查看后臺(tái)正在執(zhí)行的腳本

select username,lockwait,status,machine,program from v$session where sid in (select session_id from ...

Redux 和 React-Redux簡(jiǎn)介

先說(shuō)一下,為什么會(huì)產(chǎn)生Redux這樣的框架,我們?cè)陂_(kāi)發(fā)React應(yīng)用時(shí),會(huì)發(fā)現(xiàn)組件之間需要進(jìn)行數(shù)據(jù)的交換和傳遞.體現(xiàn)在: 1.?父組件要向子組件傳遞數(shù)據(jù) 通過(guò)修改子組件的props 2.?兄弟組件之間 ...

Tomcat日志文件catalina.out文件過(guò)大問(wèn)題

隨著項(xiàng)目的運(yùn)行,Tomcat的日志文件catalina.out的大小日益增大,現(xiàn)在都有好幾個(gè)GB了.如果我們不做任何處理,catalina.out的文件大小將會(huì)持續(xù)增加,直到把我們的系統(tǒng)硬盤(pán)空間給撐爆 ...

總結(jié)

以上是生活随笔為你收集整理的netcore 编译 html dll,ASP.NET Core Razor 视图预编译、动态编译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。