Ошибка в развертывании Octopus: найдено несколько целевых элементов, но преобразование «Заменить» применяется только к первому совпадению.

У меня есть файл конфигурации (file1.config), который выглядит примерно так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <myelement>
     oldvalue
  </myelement>
</configuration>

Я хочу заменить "oldvalue" на "newvalue". По этой причине я создал файл (file1.Development.config), который выглядит примерно так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <myelement xdt:Transform="Replace">
     newvalue
  </myelemetn>
</configuration>

Проблема в том, что когда я развертываю пакет с помощью Octopus Deploy, я получаю следующую ошибку:

Найдено несколько целевых элементов, но преобразование «Заменить» применяется только к первому совпадению


person nix86    schedule 05.10.2017    source источник


Ответы (1)


Я решил проблему, добавив файл xdt:Locator. Итак, теперь мой файл трансформации выглядит так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <myelement xdt:Transform="Replace" xdt:Locator="XPath(/configuration/myelement)">
     newvalue
  </myelemetn>
</configuration>

person nix86    schedule 06.10.2017