ASP.NET 预编译笔记
本来下写篇总结,但感觉自己语言不知道怎么组织。就算了。
aspnet_compiler的问题:
一开始
aspnet_compiler -v \ -p F: E: -fixednames
error ASPRUNTIME: 目标目录不是空的。请手动删除该目录,或选择其他目标目录。
aspnet_compiler -v \ -f -p F: E: -fixednames
error ASPRUNTIME: 目标目录非空。并且似乎包含以前编译的应用程序。请手动删除该目录,或选择其他目标目录。
换别的目录
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config(132): error AS PCONFIG: 未能加载类型“System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider”。
算了,单纯命令行准备放弃治疗,后来发现VS2013在发布里面其实有预编译选项的,注意看ms build输出窗格的信息就知道VS怎么预编译了。后来想上面这个问题可能是我用了64位的aspnet_compiler有问题。我后来照着VS打是没问题的。
MVC动态View编译:
ASP.NET MVC以目录为单位的动态View编译,编译生成的程序集临时存放在ASP.NET的临时目录“%WinDir%\Microsoft.NET\Framework\{Version No}\Temporary ASP.NET Files\”下。比如我的就在
C:\Users\ABC\AppData\Local\Temp\Temporary ASP.NET Files.程序寄宿在IIS的话是在这个目录里的root里生成那类文件。VS的iis express则是vs子目录。
webform动态编译:
无
总结
按微软的说法,预编译最终用户可以避免第一次请求应用程序而导致的延迟。但实际上我体会不到。第一次请求依旧那么慢,而且后续的请求还是会编译缺失的view(也许是我之前弄错了?)我试过用RazorGenerator,但是失败了,结局没有实现其官方文档实现的效果。收获还是有的,我发现VS每改一遍代码然后生成,上文提到的临时目录里的profileoptimization.prof就会更新一遍,而第一次请求的时候,这个临时目录就会清空然后重新生成一遍。
我想最后最优解应该是增量编译吧。
参考链接:
DUDU:
http://www.cnblogs.com/dudu/archive/2011/02/07/aspnet_compiler_precompilation.html
MSDN:
http://msdn.microsoft.com/zh-cn/library/ms229863(v=vs.100).aspx
MVC
http://www.cnblogs.com/artech/archive/2012/09/04/razor-view-engine-01.html
ASP.NET
http://www.cnblogs.com/artech/archive/2007/05/26/760292.html
http://www.cnblogs.com/mqingqing123/archive/2006/03/06/343623.html
VS2012预编译选项(注意VS2013会有不同):
http://www.cnblogs.com/Ivony/archive/2011/10/26/2224696.html
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
ASP.NET 预编译笔记的更多相关文章
- ASP.NET 预编译
ASP.NET 预编译概述 https://msdn.microsoft.com/zh-cn/library/bb398860%28v=VS.90%29.aspx 如何:预编译 ASP.NET 网站以 ...
- asp.net 预编译和动态编译
在asp.net中,编译可以分为:动态编译Dynamical Compilation和预编译(Precompilation). 动态编译 深入剖析ASP.NET的编译原理之一:动态编译(Dynamic ...
- ASP.NET 预编译命令(解决发布后第一次访问慢问题)
ASP.NET 编译工具 (Aspnet_compiler.exe) 官方说明 新建bat文件 @echo off CD /d C:\Windows\Microsoft.NET\Framewo ...
- 关于ASP.NET预编译(转自dudu)
为什么要用预编译? 博客园博客程序中.aspx和.ascx文件总共加起来有3000多个(博客模板中有大量的.ascx文件).如果使用动态编译,每次只要更新bin文件夹中的任何一个dll文件,动态编译至 ...
- [转][ASP.NET]ASP.NET 预编译网站
[转自]https://msdn.microsoft.com/zh-cn/library/ms227430(v=vs.80).aspx C:\Windows\Microsoft.NET\Framewo ...
- ASP.NET 动态编译、预编译和 WebDeployment 项目(转)
概述 在 Web 服务器上,既可以部署源文件,也可以部署编译后程序集. 若部署源文件,则当用户访问时,Web 应用程序会被动态编译,并缓存该程序集,以便下次访问. 否则,若部署程序集,Web 应用程序 ...
- 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图
这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...
- ASP.NET最误导人的错误提示:“未预编译文件,因此不能请求该文件”
昨天在一个ASP.NET MVC项目中,一个预编译后的视图访问时总是报错: 未预编译文件,因此不能请求该文件(The file has not been pre-compiled, and canno ...
- ASP.NET MVC5 视图预编译
ASP.NET MVC5 视图预编译 ASP.NET MVC5 视图预编译 关于Razor视图及引擎原理,就不多说了. 这里通俗或者不恰当地说,cshtml视图文件是先编译成dll文件,再通过视图 ...
随机推荐
- python 以行为单位进行字符串的切割
可以使用str 的 splitlines() 方法 实现以行为单位 进行字符串的切割, keepends=False 不保留\n符号, kendends=True 保留\n符号 my_str = &q ...
- poj2506 Tiling
http://poj.org/problem?id=2506 题目大意:用多少种方法可以用2*1或2*2瓦片来铺一个2*n的矩形? 这是一个2*17长方形的样品. 输入是一行行的序列,每一行包含一个整 ...
- linux的hostname(主机名)修改详解
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname.也可以直接cat /proc/sys/kernel/hostname查看. #ho ...
- 语法糖----C#的async和await
C# 5.0中引入了async 和 await.这两个关键字可以让你更方便的写出异步代码. public class MyClass { public MyClass() { DisplayValue ...
- web应用配置虚拟路径映射方式一配置不成功问题解决办法
配置过程图: 为了方便输入,先修改Tomcat的conf文件下的server.xml文件 默认端口修改为80 配置完成之后访问报404错误解决办法: 一.如果配置前已经开启了Tomcat服务器,配置完 ...
- 堆排序(最大堆)的理解和实现(Java)
堆的定义 堆是具有下列性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆:或者每个节点的值都小于或等于其左右孩子的值,称为小顶堆.如下图举例: 通过堆的定义可知,根节点一定是对中 ...
- Top Leaders社区发现算法(top leaders community detection approach in information networks)
一.概念 复杂网络:现实生活中各种系统都可以看做成复杂网络,复杂网络构成包括节点和边,节点是网络中的基本组成单元,节点之间的联系或者关系是网络中的边.例如 电力网络:基站代表节点,基站之间是否互通表示 ...
- AngularJS Directive 命名规则
使用规则 在HTML代码中,使用的是连接符的形式,下面我们对比看看命名和使用的对应字符串: 命名 使用 people people peopleList people-list peopleListA ...
- 3、Xamarin Forms 调整安卓TabbedPage 下置
降低学习成本是每个.NET传教士义务与责任. 建立生态,保护生态,见者有份. 教程晦涩难懂是我的错误. 对于默认的TabbedPage 上面进行页面切换 上面是安卓默认的情况 对我们大部分人来说都 ...
- (转)一个MySQL 5.7 分区表性能下降的案例分析
一个MySQL 5.7 分区表性能下降的案例分析 原文:http://www.talkwithtrend.com/Article/216803 前言 希望通过本文,使MySQL5.7.18的使用者知晓 ...