AppHarbor Web.config转换错误

时间:2012-11-13 16:37:15

标签: settings appharbor web-config-transform

我有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>

当我在Release配置中发布解决方案时,它可以正常工作(我的意思是只有url与web.config不同)

但是当Appharbor发布应用程序时,我从页面中收到运行时错误@Settings.Default.FacebookUrlAuth

具有以下细节:

无法识别的元素'设置'。 (D:\ websites \ 45 \ 31968 \ 17022 \ 0x0001_PublishedWebsites \ MVC.Web \ web.config第73行)

当我评论所有转换规则时,AppHarbor从我的默认web.config中获取这些属性,一切正常。 这是AppHarbor方面的一个问题吗?

1 个答案:

答案 0 :(得分:0)

can't have multiple setting elements。该错误可能与转换无关。