Web.config 转换概览(Transformation Overview)

针对web应用程序的部署,VS 2010vs引入了Web.config的转换,能够让用户将web.config从开发设置转换为产品设置。转换信息保存在类似于web.debug.config、web.release.config的配置文件中。这些配置文件的名称是由MSBuild配置环境中的属性相匹配的。如果构建时使用的是Debug那么所采用的转换配置文件为web.debug.config,如果是Release,则相应的为web.release.config,如果开发者自行设置了构建配置如Deploy,则相应转换配置文件为web.deploy.config。[添加方法:vs解决方案中默认只有一个web.config,如果需要添加转换配置文件,在项目管理窗口中,在web.config右击,选择“add config transforms”,与构建配置相应的转换配置文件自动添加到项目中。]

一个转换文件包含所有部署应用程序时需要的改变,这些改变通过使用XML属性来设置。

举个例子:

<connectionStrings xdt:Transform="Replace">
<add name="DBconn" connectionString="connection string detail" />
</connectionStrings>

转换文档中与源web.config中的相对应部分是类似的,这里添加了xdt:Transform="Replace"属性,意思是用这里的connectionStrings代替源文件中的相同节点。

转换引擎是转换工作的核心,其任务如下:

找出转换XML中需要转换的节点。[引擎使用Locator属性来确定变化节点]

基于转换XML中设置的变化节点,从源XML抽取相应节点

对源XML设定的节点做相应变化,然后将转换的版本写到目标XML

转换引擎对所有其操作的XML文件都应用XML DOM,所以无论目标XML文件、源XML文件还是转换XML文件都必须是良构的XML文档。

定位器(Locator)和转换属性(Transform Attributes)

转换选项使用定义在XML-Document-Transform命名空间定义的XML属性,映射到xdt前缀,该命名空间定义了两个属性:Locator和Transform。使用web.config转换必须注册上述命名空间,注册方法如下:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

原文以及详细属性说明:

http://msdn.microsoft.com/en-us/library/dd465326(VS.100,printer).aspx

posted @ 2009-12-25 16:14  intersense  阅读(657)  评论(0编辑  收藏  举报