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属性来设置。

举个例子:



转换文档中与源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转换必须注册上述命名空间,注册方法如下:

原文以及详细属性说明:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Microsoft.Web.XmlTransform 升级 XML 文件的示例: 假设我们有一个名为 app.configXML 文件,其中包含一个名为 "connectionString" 的节点,我们想要在部署到生产服务器时更改该节点的值。我们可以使用 Microsoft.Web.XmlTransform 来实现这一点。 首先,我们需要创建一个新的 XML 转换文件(XDT 文件),其中包含要应用于 XML 文件的转换规则。在这种情况下,我们需要更改 connectionString 节点的值,因此,我们可以使用 SetAttributes 元素来更改该节点的属性。以下是 XDT 文件的示例: ```xml <?xml version="1.0"?> <Transformation xmlns="http://schemas.microsoft.com/XML-Document-Transform"> <SetAttributes> <connectionStrings> <add name="MyDB" connectionString="new_connection_string" providerName="System.Data.SqlClient" /> </connectionStrings> </SetAttributes> </Transformation> ``` 在上面的示例中,我们使用 SetAttributes 元素更改了 connectionString 节点的值。我们添加了一个新的 add 元素,并为其提供了新的 connectionString 值。请注意,我们还需要提供 providerName 属性的值,因为该属性是 connectionString 节点的必需属性。 接下来,我们需要在应用程序中使用 XmlTransformation 类将 XDT 文件应用于 XML 文件。以下是示例代码: ```csharp using Microsoft.Web.XmlTransform; // Load the XML file to transform var xmlDoc = new System.Xml.XmlDocument(); xmlDoc.Load("path/to/app.config"); // Load the XDT file var transform = new XmlTransformation("path/to/transform.xdt"); // Apply the transformation to the XML file if (transform.Apply(xmlDoc)) { xmlDoc.Save("path/to/transformed/config/file.xml"); } ``` 在上面的示例中,我们使用 XmlTransformation 类将 XDT 文件应用于 app.config 文件。如果转换成功,我们将保存转换后的 XML 文件到指定路径中。 希望这个示例可以帮助你了解如何使用 Microsoft.Web.XmlTransform 升级 XML 文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值