Элемент конфигурации вставляется дважды, когда должен быть вставлен один раз - PullRequest
0 голосов
/ 26 сентября 2018

Я создаю пакет NuGet и выполняю некоторые преобразования конфигурации при установке пакета через мой web.config.install.xdt файл.

Файл имеет следующий код:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.serviceModel xdt:Transform="InsertIfMissing">
    <behaviors xdt:Transform="InsertIfMissing">
      <endpointBehaviors xdt:Transform="InsertIfMissing">
        <behavior name="customBehaviourOne" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)">
          <custom entityType="service" xdt:Transform="Insert" xdt:Locator="Match(entityType)"/>
        </behavior>
        <behavior name="customBehaviourTwo" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)">
          <custom entityType="service" xdt:Transform="Insert" xdt:Locator="Match(entityType)" />
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

И когда яустановите пакет, ниже web.config, вы можете увидеть ниже, я получаю дубликаты значений, которые мне не нужны.

<system.serviceModel>
    <behaviors>
        <endpointBehaviors>
            <behavior name="customBehaviourOne">
                <custom entityType="service" />
                <custom entityType="service" />
            </behavior>
            <behavior name="customBehaviourTwo">
                <custom entityType="service" />
                <custom entityType="service" />
            </behavior>
        </endpointBehaviors>
    </behaviors>
</system.serviceModel>

Я немного озадачен, почему дублируется <custom entityType="service" />Я хочу, чтобы он был вставлен только один раз.

...