1

我正在使用 msdeploy 将我所做的更改(通过 Team City 中的 nant 脚本)传输到站点,这很棒!我只有一个问题,我正在使用带有同步功能的 msdeploy 来让我的生活更轻松。

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

4

1 回答 1

1

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

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

并且您想将“名称”属性更改为“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 属性。“match”子参数是选择要更改的属性的 X-Path。

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

希望有帮助。

于 2010-07-05T07:12:29.703 回答