您的位置:首页 > 编程语言 > ASP

第一次使用aspnet_compiler失败记录

2016-06-04 17:32 579 查看

一 Aspnet_compiler.exe

利用 ASP.NET 编译工具 (Aspnet_compiler.exe) 可以就地编译 ASP.NET Web 应用程序,也可以为部署到某个目标位置(例如成品服务器)编译 ASP.NET Web 应用程序。 就地编译有助于提高应用程序的性能,因为在编译应用程序的过程中,最终用户可以避免第一次请求应用程序而导致的延迟。 可以通过以下两种方法之一执行用于部署的编译:一种方法移除所有源文件,例如代码隐藏文件和标记文件;另一种方法保留标记文件。

有一个asp.net项目如下;



已经把C:\Windows\Microsoft.NET\Framework64\v4.0.30319添加到环境变量path;



错误;



aspnet_compiler -v webapp1 -p 01

这条没输出错误,但是啥也没有;



错误;



错误;

看样子要先在IIS中建立虚拟目录webapp1;

本机未装IIS,先暂停;

二 使用aspnet_compiler.exe预编译网站

第一步:切换到aspnet_compiler.exe所在目录

在“命令提示符”下,切换到所在目录“c:\windows\microsoft\framework\v2.0.50727”。

第二步:运行aspnet_compiler.exe预编译

Aspnet_Compiler -v test c:\tmp\test

-v是虚拟目录参数,test为虚拟目录名称,而c:\tmp\test是指先行编译后的程序文件的目的位置。

第三步:使用预编译后的网站

将预编译后的test目录Copy到正式网页服务器,部署网站。

但要注意:aspnet_compiler.exe不会对静态文件如:Web.config、文本文件和图片文件等进行编译,所以像数据库连接字符串请用 aspnet_regiis.exe工具来进行加密。

网站预编译后,以后也不会触发重新动态编译,故请不要事后再加入新的.aspx文件,那样不会有任何作用。

也可通过ClientBuildManager类进行编译

string vdir = "/MyDataSource"; //虚拟目录名称

string srcLocation = "c:\\Inetpub\\wwwroot\\VS2005IDE"; //来源位置

string tarLocation = "c:\\tmp\\VS2005IDE"; //目标位置

System.Web.Compilation.ClientBuildManager cbm = new System.Web.Compilation.ClientBuildManager (vdir,srcLocation,tarLocation);

cbm.PrecompileApplication(); //预编译

aspnet_compiler.exe命令说明链接;
https://msdn.microsoft.com/zh-cn/library/ms229863.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net aspnet_compiler