代码改变世界

[转载]Asp.Net 2.0 发布问题

2006-10-15 09:29  w i n s o n  阅读(2138)  评论(1编辑  收藏
asp.net2.0 如何发布(编译)程序,生成dll。
但是我们从ms获得的vwd2005 express 不支持发布产生dll的。
可以使用aspnet_compiler.exe 来发布我们的项目。

从ms上下了一个 .NET Framework 2.0 Software Development Kit (SDK) Beta 2 x86
下载地址 http://www.microsoft.com/downloads/details.aspx?FamilyID=fe6f2099-b7b4-4f47-a244-c96d69c35dec&DisplayLang=zh-cn

之后安装后,通过开始菜单/程序/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>