2012-06-07 4 views
3

Я использую webdeploy для развертывания моего проекта веб-сайта с помощью файла parameters.xml, который я использовал некоторое время. Пока что добавленные параметры - все атрибуты элементов, и все работает хорошо. Но я пытаюсь получить право xpath на обновление значения элемента ApplicationSettings (а не атрибутов), и я не могу, что плохо, выработать, если его недостающие навыки xpath виноваты или непонимание того, как работает файл параметров.XPath для web.config applicationSettings webdeploy parameters.xml файл неверен

Когда я делаю развертывание, поле не обновляется, оно компилируется в порядке и без ошибок \ предупреждений во время развертывания. Я хочу, чтобы это можно было установить с помощью 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> 

Любая помощь будет высоко ценится!

ответ

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> 
+0

Эта работа для оригинального плаката? Я искал аналогичную проблему. – Michael12345

+0

Я получил это для работы (используя '/ text()'). Моя проблема заключалась в том, что я использовал 'match =" // applicationSettings ... "' вместо 'match ="/configuration/applicationSettings ... "' – cederlof