.NET 部署-03Web Deployment项目-01概述

原文地址:http://msdn.microsoft.com/en-us/library/aa479568.aspx

 

摘要

VS 2005 通过复制(Copy)和发布(PublishWeb网站来部署(deployment)网站。但在很多高级的情况下,开发者需要下面这些能力。

  • 更多的控制程序集的命名和输出。
  • 自定义生成(build)前和生成(build)后的处理动作。
  • 在生成(build)期间,排除、添加和转换文件和目录的能力。
  • 根据生成(build)配置,来修改Web.config文件以改变数据库连接字符串,应用程序设置,或是Web引用的URL。例如,在开发,测试,演示和发布(release)时,使用不同的值。

本篇及下面的文章介绍对于更多高级的情况,VS 2005提供的一个解决方案——Web Deployment 项目。

 

WebDeployment 项目

Web Deployment 项目是Visual Studio 2005的插件包,它不会改变Visual Studio 2005任何特性的行为,只是简单地添加一个额外的功能,用来Web站点的部署。

Web Deployment 项目是与其相关的一个Web 站点的MSBuild项目,它完全集成到Visual Studio 2005 生成配置管理中,并为编译和部署提供配置选项,例如调试(Debug)和发布(Release)。Web Deployment项目是一个扩展,能够创建生成前(pre-build)和生成后(post-build)的动作。

Web Deployment项目不会改变Visual Studio 2005 Web站点的生成方式。它只是把Web站点作为输入,把产生的预编译Web站点作为输出,不会以任何方式改变源Web站点项目的文件。

特性概述

Web Deployment 项目为生成(build)和发布(deployASP.NET 2.0 Web站点提供如下特性:

  • ASP.NET 2.0 预编译(precompilation)作为生成(build)处理的一部分。
  • 为从Web项目产生已编译的程序集提供更多灵活的选项:
    • 整个Web站点的单个程序集。
    • 每个文件夹一个程序集。
    • 所有UI组件的单个程序集。
    • Web站点中每个编译的文件一个程序集。
  • 程序集签名。
  • 自定义生成前(pre-build)和生成后(post-build)的动作。
  • 从生成(build)排除文件夹。
  • 修改Web.config文件中的设置,例如,基于Visual Studio 的生成(build)配置来修改<connectionString>元素。
  • 支持创建 .msi 安装项目。

Web Deployment 项目的扩展性能够根据你自己的需要配置生成(build)和发布(deploy)的处理过程。这个过程不会牺牲已被Visual Studio 2005Web站点优化的工作流。

 

安装 Web Deployment 项目

安装Web Deployment 项目会安装一个 VS 2005 插件包,和一个新的 ASP.NET 合并工具 (aspnet_merge.exe)。默认情况下,Web Deployment项目会安装在如下表所示的位置。

Location

Files

C:/Program Files/MSBuild/Microsoft/WebDeployment/v8.0

aspnet_merge.exe

Microsoft.WebDeployment.targets

Microsoft.WebDeployment.Tasks.dll

C:/Program Files/Microsoft Visual Studio 8/Common7/Packages

MsWebDeployProj.dll

WebDeploy.wdproj

C:/Program Files/Microsoft Visual Studio 8/Common7/Packages/1033

MsWebDeployProjUi.dll

你可以把 Web Deployment 项目安装在没有 VS 2005 的机器上。如果你想在一个专门用来生成(build)的机器上使用 MSBuild,那么这个特性就非常有用。

新的菜单命令

安装 Web Deployment 项目会在“生成(Build)”菜单中添加一个“Add Web Deployment Project”命令,以及在解决方案浏览器上所选的Web项目中添加一个快捷菜单。只有本地IIS和文件系统的Web站点支持才支持这个命令,而远程 FrontPage 或是 FTP Web 站点不支持。

当创建一个Web 部署项目时,你创建的Web站点会与这个Web部署项目关联。一般来说,Web站点与Web部署项目是一对一的关系。解决方案中的每个Web站点都有自己的Web部署项目。你也可以为同一个Web站点创建多个Web部署项目。

通过自定义生成行为,可以把多个Web站点合并到一个Web站点的高级情况,看一下后面介绍的自定义Web 部署项目。

 

添加一个Web Deployment项目

向一个Web站点添加WebDeployment项目的步骤如下:

1.    在解决方案浏览器总,选择Web站点的名字;

2.    在“Build”菜单中,选择 “Add Web Deployment Project”。“Add Web Deployment Project”对话框如下所示:

Web Deployment

3.    规定项目的名字和位置。

默认情况,Web Deployment项目的名字是Web站点加上“_deploy”。默认位置同解决方案在同一个文件夹。在下面的例子,Web站点路径为“C:/MyProjects/MyWeb”,因此,Web Deployment项目的名称为“MyWeb_deploy.webdeployproj”,项目文件夹路径为“C:/MyProjects/MyWeb_deploy/”。

4.    点击“OK”。

一个新的项目被添加到解决方案中,并自动与Web站点关联。现在,这个新的Web Deployment 项目是生成处理的一部分。

提示:WebDeployment 项目不包含解决方案中的任何文件和目录,它只是一个MSBuild项目文件,使你为与此关联的Web站点,自定义生成(build)规则。你可以在“Properties”窗口查看当前Web Deployment项目的属性。

Web Deployment

posted @ 2010-10-31 13:30  船长&CAP  阅读(272)  评论(0编辑  收藏  举报
免费流量统计软件