使用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”值。
答案 0 :(得分:4)
在配置转换文件(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 :(得分: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文件中带有“false”的useCache属性。
您可以声明要替换的任意数量的参数,MSDeploy支持使用文件来保存参数。文件是简单的Xml文件,然后您将使用-setParamFile:<filename>
和-declareParamFile:<filename>
语法。