我有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方面的一个问题吗?