我们正在使用 msdeploy(如果您愿意,也可以使用 web deploy)来打包和部署 web 应用程序。通过声明参数打包时间,我们可以在部署时提供值(以替换连接字符串等)。
我们目前面临的问题是替换 web 配置中 applicationSettings 部分的值。我们无法让 msdeploy 替换该值,因为我们要替换的内容是 xml 元素内的文本,而不是属性值(我们得到的警告是:“无法在节点类型 'Element' 上设置值”)。
相关配置如下所示:
<applicationSettings>
<Name.Of.Assembly.Properties.Settings>
<setting name="someSetting" serializeAs="String">
<value>I wanna be replaced</value>
</setting>
</Name.Of.Assembly.Properties.Settings>
</applicationSettings>
声明参数 xml 如下所示:
<parameter name="XX" defaultValue="default">
<parameterEntry kind="XmlFile"
scope="Web\.config$"
match="/configuration/applicationSettings/Name.Of.Assembly.Properties.Settings/setting[@name='someSetting']/value" />
</parameter>
msdeploy 只支持替换属性值还是我做错了什么?