关于ASP.NET预编译(转自dudu)】的更多相关文章

ASP.NET 预编译概述 https://msdn.microsoft.com/zh-cn/library/bb398860%28v=VS.90%29.aspx 如何:预编译 ASP.NET 网站以进行部署 https://msdn.microsoft.com/zh-cn/library/ms227976%28v=vs.90%29.aspx ASP.NET 编译工具 (Aspnet_compiler.exe) https://msdn.microsoft.com/zh-cn/library/m…
为什么要用预编译? 博客园博客程序中.aspx和.ascx文件总共加起来有3000多个(博客模板中有大量的.ascx文件).如果使用动态编译,每次只要更新bin文件夹中的任何一个dll文件,动态编译至少需要5分钟(访问量越高,所需的编译时间越长),而在动态编译期间网站访问速度极慢,几乎就是无法正常访问.这样,每次更新程序成为了一种痛苦,只能安排在深夜或一大早. 面对这样的情况,只能选择预编译. 预编译的原理是什么? 请阅读Artech写的深入剖析ASP.NET的编译原理之二:预编译(Precom…
ASP.NET 编译工具 (Aspnet_compiler.exe) 官方说明 新建bat文件   @echo off   CD /d C:\Windows\Microsoft.NET\Framework\v2.0.50727   aspnet_compiler -p E:\wwwroot\站点主目录 -v /   echo 命令执行成功!   pause 请注意,上面的v2.0.50727代表项目的.NET版本,可根据项目版本替换成以下版本 v2.0.50727 v3.0 v3.5 v4.0.…
本来下写篇总结,但感觉自己语言不知道怎么组织.就算了. aspnet_compiler的问题: 一开始 aspnet_compiler -v  \   -p  F:  E: -fixednames error ASPRUNTIME: 目标目录不是空的.请手动删除该目录,或选择其他目标目录. aspnet_compiler -v  \  -f  -p   F:  E: -fixednames error ASPRUNTIME: 目标目录非空.并且似乎包含以前编译的应用程序.请手动删除该目录,或选择…
在asp.net中,编译可以分为:动态编译Dynamical Compilation和预编译(Precompilation). 动态编译 深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation) 预编译 深入剖析ASP.NET的编译原理之二:预编译(Precompilation) 比如vs2013发布站点的时候,可以选择预编译,生成单独文件. 发布后,你可以看到bin目录下的文件…
[转自]https://msdn.microsoft.com/zh-cn/library/ms227430(v=vs.80).aspx C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_compiler -v /test ASP.NET 提供了两种用于预编译网站的模型.本主题讨论这两种预编译模型,并提供有关为 Web 应用程序选择适当模型的指南. 决策矩阵 使用下表来帮助您决定要使用哪种编译模型.本文档后面将对每种编译模型进行更详细的说明.…
概述 在 Web 服务器上,既可以部署源文件,也可以部署编译后程序集. 若部署源文件,则当用户访问时,Web 应用程序会被动态编译,并缓存该程序集,以便下次访问. 否则,若部署程序集,Web 应用程序能直接使用. 动态编译 本文针对 VS 2008.Web 应用程序要想为请求提供服务,ASP.NET 必须首先分析 Web 应用程序的代码,并将其编译成一个或多个程序集.当编译代码时,会将代码编译为 Microsoft 中间语言(MSIL,与具体编程语言和 CPU 无关的语言).运行时,MSIL 将…
这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配置: 1)在 "dependencies" 中添加: "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Design": "1.1.0-preview4-final" 2)在"tools&quo…
昨天在一个ASP.NET MVC项目中,一个预编译后的视图访问时总是报错: 未预编译文件,因此不能请求该文件(The file has not been pre-compiled, and cannot be requested) 而对应这个预编译视图的3个地方都正常: 1)内容为“这是预编译工具生成的标记文件,不应删除!”的.cshtml占位文件正常存在 2)对应的*.cshtml.7384d3d7.compiled文件正常 3)对应的App_Web_*.cshtml.7384d3d7.dll…
ASP.NET MVC5 视图预编译 ASP.NET MVC5 视图预编译   关于Razor视图及引擎原理,就不多说了. 这里通俗或者不恰当地说,cshtml视图文件是先编译成dll文件,再通过视图引擎“解析”成html输出到浏览器. 但mvc编译cshtml是动态编译的,并缓存起来. 它到底缓存到哪里了?请看园子里的蒋金楠<ASP.NET MVC的Razor引擎:View编译原理>一文 ! 相信不少人想过:能不能把视图进行预(提前)编译? 一.这样是否可能提升网站程序运行性能(当然,和缓存…
在去年一次项目上线时发现部署的站点首次访问跟回收后响应特别慢.(使用的是vs工具预编译的方式发布),在随后找到解决办法是通过命令预编译Asp.net 网站,成功解决站点响应在毫秒级别. 预编译 ASP.NET 网站 预编译 ASP.NET 网站可缩短用户的初始响应时间,因为页在第一次被请求时无需编译.这对于经常更新的大型网站尤其有用. https://msdn.microsoft.com/zh-cn/library/ms227972(VS.80).aspx 微软介绍 使用说明打开cmd命令 C:…
预编译 ASP.NET 网站以进行部署和更新 打开一个命令窗口并定位到包含 .NET Framework 的文件夹. .NET Framework 将安装在以下位置. %windir%\Microsoft.NET\Framework\version 运行 aspnet_compiler 命令,在命令提示符下键入以下内容,同时指定源(作为虚拟路径或物理路径指定).编译网站的目标文件夹以及 -u 开关(此开关表示您想编译站点以进行部署和更新). aspnet_compiler -p physical…
转自:如何:预编译 ASP.NET 网站 Visual Studio 2005   预编译 ASP.NET 网站可缩短用户的初始响应时间,因为页在第一次被请求时无需编译.这对于经常更新的大型网站尤其有用. 本主题中的过程使用 ASP.NET 编译工具 (Aspnet_compiler.exe) 的开关和参数.有关此工具的更多信息,请参见ASP.NET 编译工具 (Aspnet_compiler.exe). 有关预编译的更多信息,请参见 ASP.NET 网站预编译. 就地预编译 ASP.NET 网…
目录 #使用visual studio 发布web项目 #"允许更新此预编译站点" 选项的意义 1.选中 "允许更新此预编译站点" 2.不选中 "允许更新此预编译站点" 3.Asp.Net MVC 的web项目也有同样的结果 #当本地的web文件发生修改的时候,需要更新哪些文件到服务器: 1.如果发布方式,选中了"允许更新此预编译站点": #参考 #使用visual studio 发布web项目 我们使用visual stud…
0x01 前言 ASP.NET Core在默认发布情况下,会启动预编译将试图编译成xx.Views.dll,也许在视图中打算修改一处很细小的地方我们需要再重新编译视图进行发布.下面我将从 ASP.NET Core 3 之前版本到 ASP.NET Core 3X 之后版本的一个配置列下下方供大家参考. 0x02 预编译 在ASP.Core中默认是为我们启动的预编译,默认系统会将视图编译进行预编译处理,最终会将编译好的视图生成一个DLL xx.Views.dll. 0x03 动态编译 动态编译也就是…
标题:从零开始实现ASP.NET Core MVC的插件式开发(九) - 如何启用预编译视图 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/13992077.html 源代码:https://github.com/lamondlu/Mystique 适用版本:.NET Core 3.1, .NET 5 前景回顾 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用Application Part动态加载控制器和视图 从零开始…
发布网站时在打开的对话框中,有一个选项是至关重要的,那就是“允许更新此预编译站点”: “允许更新此预编译站点”这一项,默认情况下,前面是打上一个√的,至于要不要打上一个√,是可选的,那么,打勾与不打勾,有何区别呢? 也许大家都曾经发布过net网站,一般情况下,网站项目中的所有CS文件,会自动生成一个DLL动态链接库,这就能够很好的保护网站的源代码,因为代码一般都是放在CS文件里面的,既然都生成了DLL文件,那么,上传到虚拟空间,别人就不能打开来看了! 但是,其它的文件,诸如ashx.aspx等文…
在.NET Core 2 Web API应用程序中,MS VS 2017中的发布到文件夹功能产生: <ProjectAssembly>.PrecompiledViews.dll <ProjectAssembly>.PrecompiledViews.pdb 解决方法: 编辑csproj文件来禁用预编译步骤: <PropertyGroup> <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish&…
早前一段时间,一位朋友在Q群里面找到我,说它按照<Linux.NET学习手记>的操作,把一个ASP.NET MVC 4.0的项目部署到Mono之后出现Razor无法找到视图的现象.当时费了一番周章才把问题解决.而最近一段时间,群里也有其他的朋友出现相同的问题,随着时间的推移,想必会有越来越多朋友会使用高版本的VS,于是我把当时的情况重现出来,并把解决办法记录下来. 像往常一样,我们创建了一个MVC4的项目. 然后添加了一个视图,默认的那个(/Home/Index),然后,再发布到Linux.N…
公司手机网站上千个 ASP.NET开发一套程序只是配置不一样,所有站点呈现的内容就不一样了, 以前的程序是ASP的,现在ASP程序猿少之又少了,所以公司要求转.NET,新开发也用NET.所有现在上千个网站全是一套NET程序,程序到是好写了,可是上线这叫一个慢啊 ,换了最好配置的服务器16个核桃,所有网站编译完也要半个多小时,这要是上线出一个BUG可把LZ愁坏了,咋办喃.百度了一番,Net预编译,终于经过一下午的研究搞出来了,可是.net的预编译的命令执行一次是对一个站点的预编译,而且也是需要时间…
当我们把网站部署在IIS7或IIS6S的时候,每当IIS或是ApplicationPool重启后,第一次请求网站反应总是很慢,原因大家都知道(不知道可以参考这个动画说明ASP.NET网页第一个Request会比较慢的原因).所以每次网站更新都会给第一个用户代号不好的用户体验,因此之前大家得通过撰写仿真模拟访问动作或预编译来解决此问题.但自从Windows 2012出来之后,这部分ApplicationInitialization功能已经有内含在IIS8之中,可以直接进行设定就可以.不过微软也发布…
预编译 预编译是ASP .Net Core的默认方式.在发布时,默认会将系统中的所有Razor视图进行预编译.编译好的视图DLL统一命名为 xxx.PrecompiledViews.dll 或者 xxx.Views.dll 动态编译 将项目整个配置成动态编译很简单,添加一个配置项目MvcRazorCompileOnPublish,值为false即可 <PropertyGroup> <MvcRazorCompileOnPublish>false</MvcRazorCompile…
Web开发中常常会有跨页面.跨站点.跨项目组的复用模块(界面),最常见的就是如下方所示的Web页面上用于显示登录或用户名的头部模块, 使用ASP.NET MVC开发中,常见的做法是写成部分视图,本文的目的则是进一步将这部分视图预编译成DLL, 这样就可以不直接暴露源码的提供复用组件,适合跨项目组的协作开发. 技术点 Razor Generator(Razor单文件生产器) RazorGenerator.Mvc(Razor视图预编译引擎) 步骤一:安装拓展,项目准备 首先,为VS安装Razor G…
当我们把站点部署在IIS7或IIS6S的时候,每当IIS或是ApplicationPool重新启动后,第一次请求站点反应总是非常慢.原因大家都知道(不知道能够參考这个动画说明ASP.NET网页第一个Request会比較慢的原因). 所以每次站点更新都会给第一个用户代号不好的用户体验,因此之前大家得通过撰写仿真模拟訪问动作或预编译来解决此问题.但自从Windows 2012出来之后.这部分ApplicationInitialization功能已经有内含在IIS8之中.能够直接进行设定就能够.只是微…
前言 本例使用的是asp.net中的webform项目,使用.net框架为.net3.5 操作步骤 正常的web项目发布步骤 发布方法:文件系统 目标位置:发布后的项目文件的路径,可自定义. 打开windows资源管理器,可以看到发布后的相关文件 打开VS2008的命令提示符工具 在命令提示符中输入 命令,并回车 命令示例: aspnet_compiler.exe -v \ -p E:\WebIIS\EIS E:\WebIIS\EIS_Precompiled -fixednames 参数说明:…
在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组件还是存在少许的bug,如:页面单独定义Layout预编译后不会起作用,而且照旧会使用没有预编译的_ViewStart.cshtml里面定义的Layout 昨天在NPOI作者Tony的群(群号:78142590)里面经过大神老衣的指点,原来是我引用的第三方类库错了,应该引用:RazorGenerator.Mv…
在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果需要对razor预编译需要借助第三方工具:Razor Generator 源码:http://razorgenerator.codeplex.com/ 这里以VS2013为例 1,依次选择:工具---扩展和更新---左侧选择“联机”---搜索“RazorGenerator”,然后安装 2,对MVC项…
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! jdbc day02 DML语法 比起插叙语句,没有ResultSet结果集,stmt.executeUpdate(sql)返回的是改变几行的int类型. 前几步和day01一致 //3.写sql语句 String sql = "insert into copy_emp(last_name) values("+"'洛哥哥')&quo…
Js作为脚本语言,可以不需要编译直接运行,但遇到类似变量或者函数同名,预编译方面的知识可以帮助我们更好解决问题. 示例: 这是一段js中普通的函数调用代码 <script>1.    //var demo=undefined        2.    demo(1,2);3.    function demo(a,b){4.        console.log(b);5.    }6.    var demo = function(a,b){7.        console.log(a);…
操作: 菜单选择Proceject->Options->Delphi Compilerz在Conditional Defines(第一行)中添加预编译标识.例:VCL代码:uses{$IFDEF VCL}Vcl.Forms{$ELSE}FMX.Forms{$ENDIF} 注意定义是分大小写的…