第一次使用aspnet_compiler失败记录

一 Aspnet_compiler.exe

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

 

有一个asp.net项目如下;

第一次使用aspnet_compiler失败记录_第1张图片

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

第一次使用aspnet_compiler失败记录_第2张图片

错误;

 

第一次使用aspnet_compiler失败记录_第3张图片

aspnet_compiler -v webapp1 -p 01

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

 

第一次使用aspnet_compiler失败记录_第4张图片

错误;

 

第一次使用aspnet_compiler失败记录_第5张图片

错误;

 

看样子要先在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

你可能感兴趣的:(.Net)