3

我使用 webdeploy 来部署我的网站项目,其中包含我已经使用了一段时间的 parameters.xml 文件。到目前为止,我添加的参数都是元素属性,并且运行良好。但是我试图让 xpath 正确地更新 applicationSettings 元素值(而不是属性)并且我失败了,很糟糕,如果它是我糟糕的 xpath 技能,或者是对参数文件工作方式的误解。

当我进行部署时,该字段没有更新,它编译得很好,并且在部署期间没有错误\警告。我希望能够将其设置为 True 或 False。

所以我有以下参数字段

<parameter name="ShowExceptionCallStackOnErrorView" description="Display a call stack on the UI Error view - true for debug only." defaultValue="False" tags="">
    <parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/abc.123.Properties.Settings/setting[@name='ShowExceptionCallStackOnErrorView']/value" />
</parameter>

尝试匹配以下应用程序设置部分

<configuration>
    <applicationSettings>
        <abc.123.Properties.Settings>
            <setting name="ShowExceptionCallStackOnErrorView" serializeAs="String">
               <value>True</value>

任何帮助将非常感激!

4

1 回答 1

6

它不会给您错误,因为它根本没有找到要替换的匹配项。如果您希望它替换值标签的内容,您需要添加 /text()到匹配标签的末尾。如下...

<parameter name="ShowExceptionCallStackOnErrorView" description="Display a call stack on the UI Error view - true for debug only." defaultValue="False" tags="">
  <parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/abc.123.Properties.Settings/setting[@name='ShowExceptionCallStackOnErrorView']/value/text()" />
</parameter>
于 2012-09-07T18:13:37.757 回答