第十讲 ASP.NET程序的部署
*摘要
-ASP.NET应用程序结构
-XCOPY部署
-利用VS.NET的“复制项目”功能部署
-使用VS.NET的“Web安装项目”部署
*ASP.NET应用程序构架
.配置(Setup):程序打包
.部署(Deployment):程序安装
.DLL Hell:DLL版本向后兼容?
-共享DLL的空难
.Web页面
.资源文件
.配置文件
.程序集:位于Bin目录下
-MSIL代码
-元数据:描述代码中定义的类型、方法等
-Manifest:包含名称和版本信息,程序集中包含文件的清单,安全信息,等等。
-支持文件和资源。
*XCOPY部署
..NET框架的主要目标之一就是简化部署,例如支持XCOPY部署。
.无干扰(Zero-lmpact)安装:
-编译器将标识符和元数据信息嵌入到了编译好的模块之中,而CLR利用这些信息来装入程序集的适当版本。标识符包含了装入和运行模块,
查找程序引用的其他模块所需的所有信息。
-系统不会因为修改注册表、配置组件而受到影响:另外,无干扰安装也使得缷载操作不会对系统产生任何意外的影响,缷载组件时只要从特
定的目录删除某些文件就可以了。
*用VS.NET的“复制项目”功能部署
.从Debug改成Release,使编译器优化代码,而且删除所有与调试有关的符号信息,使代码运行速度更快
.复制项目。
*Windows Installer简介
1、所有的ASP.NET应用程序都用Windows Installer
2、VS.NET中使用的是Windows Installer2.0
*Windows Installer优点
.安装时用户可以选择要安装的功能
.如果安装失败,则回滚(rollback),这样系统就可以返回到安装之前的状态。
.在Windows安装程序文件中,我们可以读取如下信息:安装什么文件,进行什么样的注册表配置。
.应用程序可以完全缷载。
*Web应用程序的部署
.创建Web窗体应用程序
.创建部署项目
.将WebApp1项目的输出添加到部署项目中
.设置安装程序的属性
.将应用程序序部署到开发计算机上的Web服务器上。
.将应用程序部署到另一台计算机的Web服务器上
.卸载应用程序。
*Vs.NET提供的部署项目模板
1、合并模块项目:将可能由多个应用程序共享的组件打包。
2、安装项目:为基于windows的应用程序生成安装程序。
3、Web安装项目:为Web应用程序生成安装程序。
4、Cab项目:创建压缩文件以下载到旧式Web浏览器。
*安装编辑器介绍
.文件系统编辑器:向安装软件包添加文件
.注册表编辑器:为应用程序创建注册表项
.文件类型编辑器:注册用户程序的具体文件扩展名称。
.用户界面编辑器:添加和配置对话框,在安装程序期间显式这些对话框。
.自定义操作编辑器:运行在安装和卸载期间启动定制程序。
.启动条件编辑器:可以规定对应用程序的要求。