Ошибка преобразования AppHarbor Web.config

У меня есть файл web.config, который переопределяет элементы в файле настроек следующим образом:

<applicationSettings>
    <MvcApplication.Properties.Settings>
      <setting name="FacebookUrlAuth" serializeAs="String">
        <value>http://URL1.com</value>
      </setting>
      <setting name="GoogleUrlAuth" serializeAs="String">
        <value>http://URL2.com</value>
      </setting>
    </MvcApplication.Properties.Settings>
  </applicationSettings>

И у меня есть web.release.config, который преобразует эти настройки:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <applicationSettings>
    <MvcApplication.Properties.Settings>
      <setting name="FacebookUrlAuth" serializeAs="String" xdt:Locator="Match(name)" xdt:Transform="Replace">
        <value>http://AlternativeUrl1.com</value>
      </setting>
      <setting name="GoogleUrlAuth" serializeAs="String" xdt:Locator="Match(name)" xdt:Transform="Replace">
        <value>http://AlternativeUrl2.com</value>
      </setting>
    </MvcApplication.Properties.Settings>
  </applicationSettings>
</configuration>

Когда я публикую решение в конфигурации выпуска, оно работает правильно (я имею в виду, что только URL-адреса становятся отличными от web.config)

Но когда Appharbor публикует приложение, я получаю ошибку во время выполнения со страницы, которую я использую @Settings.Default.FacebookUrlAuth

со следующими деталями:

Нераспознанный элемент "установка". (D: \ sites\45\31968\17022\0x0001_PublishedWebsites\MVC.Web\web.config, строка 73)

Когда я комментирую все правила преобразования, AppHarbor берет эти свойства из моего стандартного web.config, и все работает нормально. Это проблема со стороны AppHarbor?

1 ответ

Решение

Вы не можете иметь несколько setting элементы. Ошибка, вероятно, не связана с преобразованием.

Другие вопросы по тегам