我们有以下项目:
- 域.UI.Web
- 领域.业务
- 域.服务.端点
- 域.服务.合同
- 域.服务.代理
ApplicationSettings 被添加到app.Config
例如Domain.Business
项目中:
<applicationSettings>
<Domain.Business.My.MySettings>
<setting name="SomeKey" serializeAs="String">
<value>someDummyValue</value>
</Domain.Business.My.MySettings>
</applicationSettings>
为 Visual Studio 生成的类型化访问器添加了密钥。但是,该值被web.config
另一个项目中的值覆盖。这是web.config
该Domain.Services.EndPoints
项目的。
<Domain.Business.My.MySettings>
<setting name="SomeKey" serializeAs="String">
<value>actual_value</value>
</setting>
</Domain.Business.My.MySettings>
</applicationSettings>
当我My.Settings.SomeKey
从Domain.Business
项目中获取时,值actual_value
来自 EndPoints 项目。这似乎是自动发生的,因为我在我们的解决方案中找不到任何似乎正在这样做的代码,而且我无法让谷歌回答我的问题:
这是什么?这是 ASP.NET 或 WCF 中的标准吗?这是在哪个版本的框架中引入的?我在哪里可以阅读有关此覆盖行为的更多信息?