我正在使用 msdeploy 将我所做的更改(通过 Team City 中的 nant 脚本)传输到站点,这很棒!我只有一个问题,我正在使用带有同步功能的 msdeploy 来让我的生活更轻松。
我目前在我的 msdeploy 中排除了 web.config,因为我不知道如何即时更改 web.config。如果我进行同步,如何更改目标站点上的 web.config?
我正在使用 msdeploy 将我所做的更改(通过 Team City 中的 nant 脚本)传输到站点,这很棒!我只有一个问题,我正在使用带有同步功能的 msdeploy 来让我的生活更轻松。
我目前在我的 msdeploy 中排除了 web.config,因为我不知道如何即时更改 web.config。如果我进行同步,如何更改目标站点上的 web.config?
假设您有一个带有 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 属性转换。
希望有帮助。