2010-11-30 32 views
4

使用MSDeploy时,是否有任何方法可以转换web.config自定义节的值?如何使用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”值。

回答

5

写转型改造的配置文件(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> 
1

是的,MSDeploy很容易支持。

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

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

然后在部署包时,你会使用-setParm命令部署过程中替换的参数。喜欢的东西:

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

这个例子将取代useCache将参数,它指向与“假”的web.config文件中useCache将属性。

您可以声明任何数量的要替换的参数,MSDeploy支持使用文件来保存参数。文件是简单的Xml文件,然后使用-setParamFile:<filename>-declareParamFile:<filename>语法。