用于web.config的XPath applicationSettings webdeploy parameters.xml文件不正确

时间:2012-06-07 11:59:21

标签: webdeploy microsoft-web-deploy

我使用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>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:5)

它没有给你一个错误,因为它根本找不到匹配的替换。如果您希望它替换值标记的内容,则需要将/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>