2010-11-30 36 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>語法。