msdeploy sync和web.config

时间:2010-07-04 22:14:54

标签: asp.net sync appsettings msdeploy

我正在使用msdeploy来转移我对网站所做的更改(通过Team City中的nant脚本),这非常棒!我只有一个问题,我使用带有同步功能的msdeploy让我的生活更轻松。

我目前在msdeploy中排除了web.config,因为我不知道如何动态更改web.config。如果我进行同步,如何更改目标站点上的web.config?

1 个答案:

答案 0 :(得分:1)

假设您有一个带有web.config文件的源目录,如下所示:

<configuration>
    <system.web>
        <randomSection name="value" name2="value2" />
    </system.web>
</configuration>

您想将“name”属性更改为“GoGermany”

msdeploy -verb:sync -source:dirpath=c:\source -dest:dirpath=c:\dest 
    -setParam:type=XmlFile,match=//randomSection/@name,scope=web.config$,value=GoGermany

这将同步两个目录,同时转换web.configs以更改@name属性。 “匹配”子参数是选择要更改的属性的X路径。

您也可以使用type =“TextFile”来执行参数,在这种情况下,您可以对整个文件执行正则表达式匹配/替换。上面的示例使用XmlFile,这意味着XML属性转换。

希望有所帮助。