ASPnet_compiler 是一個把整個網站進行編譯的工具。
C:WINNTMicrosoft.NetFramework 2.0.40607>ASPnet_compiler -?
Utility to precompile an ASP.Net application
Copyright ( c ) Microsoft Corporation 2001-2003. All rights reserved.
Usage:
ASPnet_compiler [-?] [-m metabasePath | -v virtualPath [-p physicalDir]]
[targetDir]
-? Prints this help text.
-m The full IIS metabase path of the application. This switch cannot
be combined with the -v or -p switches.
-v The virtual path of the application to be compiled (e.g.
"/MyApp"). If -p is specifIEd, the physical path is used to locate
the application. Otherwise, the IIS metabase is used, and the
application is assumed to be in the default site (under
"/LM/W3SVC/1/Root"). This switch cannot be combined with the -m
switch.
-p The physical path of the application to be compiled. If -p is
missing, the IIS metabase is used to locate the app.
-nologo Suppress compiler copyright message.
targetDir The physical path to which the application is compiled. If not
specifIEd, the application is precompiled in-place.
Examples:
The following two commands are equivalent, and rely on the IIS metabase. The
compiled application is deployed to c:MyTarget:
ASPnet_compiler -m /LM/W3SVC/1/Root/MyApp c:MyTarget
ASPnet_compiler -v /MyApp c:MyTarget
The following command compiles the application /MyApp in-place. The effect is
that no more compilations will be needed when HTTP requests are sent to it:
ASPnet_compiler -v /MyApp
The following command does *not* rely on the IIS metabase, as it explicitly
specifIEs the physical source directory of the application:
ASPnet_compiler -v /MyApp -p c:myapp c:MyTarget
運行C:\WINNT\Microsoft.Net\Framework\v2.0.40607>ASPnet_compiler -v /djlp1 -p H:\Websites\DljPortal c:\dljp1 之後,
在 c:\dljp1 生成了一個目錄,裡面有 bin 目錄,有data目錄,還有其他文件都復制了過去了。
bin目錄下多了幾個dll文件:__code7jyhe1in.dll __DljPortalltzbmqxr.dll __resources9y3reyon.dll default.ASPx.cdcab7d2.compiled global.asax.compiled global.asax7xyenj3t.dll ...
而以前的 default.ASPx 現在的內容變成:This is a marker file generated by the precompilation tool, and should not be deleted!
不過這個 c:\dljp1 是不會自動變成 http://localhost/dljp1 的。這還要自己去添加。
web.config 裡的信息沒有變。 不過這次 codeSubDirectorIEs/ 這個設置沒有提示錯誤了。。
最難得的是global.asax已經失蹤了,這個文件將在bin目錄下用global.asax.compiled來指定。內容是:
<preserve resultType="3" virtualPath="/djlp1/global.asax" hash="fffffffac7751c8c"
filehash="ffffd6a40be55434" assembly="global.asaxx5e9jbd0" type="ASP.Global_asax">
<filedeps>
<filedep name="/djlp1/global.asax" />
</filedeps>
</preserve>