昨天在一个QQ群里有朋友问,asp.net2.0 如何发布(编译)程序,生成dll。
但是我们从ms获得的vwd2005 express 不支持发布产生dll的。
可以使用aspnet_compiler.exe 来发布我们的项目。
昨天也从ms上下了一个 .NET Framework 2.0 Software Development Kit (SDK) Beta 2 x86
之后安装后,通过开始菜单/程序/Mrcrosoft .net framwoks sdk 2.0/sdk command prompt 选择此项目
dos的界面路径直接是 C:\Program Files\Microsoft_Visual_Studio_8\SDK\v2.0>
很方面我们就可以使用 aspnet_compiler.exe
如果使用这个命令呢 输入aspnet_compiler -?回车
参数使用都出来了而且还是中文的,方便多了
C:\Program Files\Microsoft_Visual_Studio_8\SDK\v2.0>aspnet_compiler -?
要用来预编译 ASP.NET 应用程序的实用工具
版权所有 (C) Microsoft Corporation。保留所有权利。
用法:
aspnet_compiler [-?] [-m metabasePath | -v virtualPath [-p physicalDir]]
[[-u] [-f] [-d] targetDir] [-c] [-fixednames]
[-keyfile file | -keycontainer container [-aptca] [-delaySign]]
-? 打印此帮助文本。
-m 应用程序的完整 IIS 元数据库路径。此开关不能与 -v 或 -p 开关组合。
-v 要编译的应用程序的虚拟路径(例如“/MyApp”)。如果指定了 -p,则使用
物理路径定位应用程序。否则,使用 IIS
元数据库,并且假定应用程序位于默认站点(“/LM/W3SVC/1/Root”下)。此
开关不能与 -m 开关组合。
-p 要编译的应用程序的物理路径。如果缺少 -p,则使用 IIS 元数据库定位此
应用程序。此开关必须与 -v 组合。
-u 如果指定,则预编译的应用程序是可更新的。
-f 如果目标目录已存在,则改写它。现有内容会丢失。
-d 如果指定此选项,将在编译过程中发出调试信息。
targetDir 应用程序将编译到的物理路径。如果没有指定,则就地预编译应用程序。
-c 如果已指定,则重新生成整个预编译应用程序。任何以前编译过的组件都将
被重新编译。在指定 targetDir
的情况下将始终启用此选项。
-keyfile 强名称密钥文件的物理路径。
-keycontainer 指定强名称密钥容器。
-aptca 如果已指定,则具有强名称的程序集将允许部分受信任的调用方。
-delaysign 如果已指定,则该程序集在创建后未完全签名。
-fixednames 如果已指定,则编译的程序集将拥有固定的名称。
-nologo 取消编译器版权消息。
示例:
以下两个命令等效,并依赖 IIS 元数据库。编译的应用程序被部署到 c:\MyTarget:
aspnet_compiler -m /LM/W3SVC/1/Root/MyApp c:\MyTarget
aspnet_compiler -v /MyApp c:\MyTarget
以下命令就地编译应用程序 /MyApp。这样,向它发送 HTTP 请求时就不再需要任何编译:
aspnet_compiler -v /MyApp
以下命令并*不*依赖 IIS 元数据库,因为它显式指定应用程序的物理源目录:
aspnet_compiler -v /MyApp -p c:\myapp c:\MyTarget
C:\Program Files\Microsoft_Visual_Studio_8\SDK\v2.0>