Ошибка преобразования 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:\websites\45\31968\17022\0x0001_PublishedWebsites\MVC.Web\web.config строка 73)

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


person Anubis    schedule 13.11.2012    source источник
comment
friism: Ты был абсолютно прав! По какой-то причине Appharbor неправильно преобразует мой конфиг. Пожалуйста, выходите, чтобы получить +1   -  person Anubis    schedule 14.11.2012
comment
Я понял беду. Как сказал Фриизм, а затем удалил свое решение: у вас не может быть нескольких элементов настройки. Ошибка, вероятно, не связана с преобразованием. и он предоставил ссылку на объяснение: other-unrecognized-elements.aspx" rel="nofollow noreferrer">blogs.msdn.com/b/tess/archive/2010/02/16/ Я точно прочитал web.config с хостинга AppHarbor и разобрался, что после преобразования настройки становятся однострочными. Итак, я думаю, что это ошибка AppHarbor.   -  person Anubis    schedule 14.11.2012


Ответы (1)


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

person friism    schedule 13.11.2012
comment
Пожалуйста, посмотрите, как написаны мои настройки. Они не в одну линию. - person Anubis; 14.11.2012
comment
Ты был прав! Последняя проблема заключалась в том, что он трансформируется в одну линейную настройку. - person Anubis; 15.11.2012
comment
@Anubis, я удивлен, что у вас это работает - у меня возникают проблемы даже с выполнением преобразований, как описано здесь stackoverflow.com/q /14739099/171810, есть идеи? - person Teto; 07.02.2013