【发布时间】:2018-02-10 17:38:23
【问题描述】:
我们有一些旧的 4.5.2 类库,它们共同使用 ConfigurationManager.AppSettings[key]
是否可以在 .net core 2 应用程序中引用这些,以便在后台正确修补配置?
IE。对 ConfigurationManager.AppSettings[key] 的旧调用正确地读取了配置,无论是从 json 还是 xml,但在 .netcore2 应用程序中。
如果我将问题的keys 移植到appSettings.json,那么对ConfigurationManager.AppSettings 的调用总是返回null。
一个例子是:
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
},
"appSettings": {"test": "bo"},
"test": "hi"
}
然后:
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2", ConfigurationManager.AppSettings["test"] , ConfigurationManager.AppSettings["appSettings:test"] };
}
将显示:
["value1","value2",null,null]
【问题讨论】:
-
我接受这不是在 .netcore2 中处理配置应该的方式,但它试图衡量有多少遗留代码库可以在不改变的情况下工作。
-
你解决了吗?
-
不,我们还没有为这些项目迁移到 .net 核心。
-
@ATerry 是否需要将 .NET 4.5.2 项目升级到 .NET 4.6.1,因为 4.5.x 与 .NET Core/Standard 2 不兼容?
标签: asp.net configuration .net-core-2.0