【问题标题】:How-to Transform Web.config Custom Sections With MSDeploy?如何使用 MSDeploy 转换 Web.config 自定义部分?
【发布时间】:2010-11-30 23:22:15
【问题描述】:

在使用 MSDeploy 时有什么方法可以转换 web.config 自定义部分的值?

  <configSections>
    <sectionGroup name="myGroup">
      <section name="data" type="MyApp.DataConfigurationSection, MyApp.Data" />
    </sectionGroup>
  </configSections>

  <myGroup>
    <data interval="3" useCache="true" />
  </myGroup>

根据构建配置我需要更改“useCache”值。

【问题讨论】:

    标签: msbuild msdeploy


    【解决方案1】:

    在配置转换文件(web.config.release)中写入转换

    <?xml version="1.0"?>
    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
      <myGroup>
        <data useCache="false" xdt:Transform="SetAttributes(useCache)" />
      </myGroup>
    </configuration>
    

    【讨论】:

      【解决方案2】:

      是的,MSDeploy 很容易支持这一点。

      创建部署包时,您希望使用-declareParm 选项在部署包中创建可替换参数。你会使用类似的东西:

      -declareParam:name=UseCache,kind=XmlFile,scope=web.config,match="/configuration/myGroup/data/@useCache"
      

      然后在部署您的包时,您将使用-setParm 命令在部署期间替换参数。比如:

      -setParam:name=UseCache,value="false"
      

      此示例将使用“false”替换指向 web.config 文件中的 useCache 属性的 UseCache 参数。

      您可以声明要替换的任意数量的参数,MSDeploy 支持使用文件来保存参数。文件是简单的 Xml 文件,您可以使用 -setParamFile:&lt;filename&gt; 和 -declareParamFile:&lt;filename&gt; 语法。

      【讨论】:

        猜你喜欢
        • 2011-06-17
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-10
        • 2014-05-26
        • 2011-03-31
        相关资源
        最近更新 更多