ASP.NET Core RC2配置自定义AppSettings

时间:2016-05-25 13:09:46

标签: asp.net configuration asp.net-core

假设我将下面的设置放在appsettings.json中。

"MySettings": {
    "SmtpHost": "smtp.mydomain.com"",
    "WebService": "http://localhost:1337"
}

我有下面的课程来保存这些设置。

public class MySettings
{
    public string SmtpHost{ get; set; }
    public string WebService{ get; set; }
}

使用RC1,我将在ConfigureServices()方法中使用下面的代码行来加载这些配置设置。

services.Configure<MySettings>(Configuration.GetSection("MySettings"));

但是在RC2中,同一行代码给了我这个错误

  

无法转换   'MicrosoftExtensions.Configuration.IConfigurationSection'来   'System.Action <MySettings>'。

2 个答案:

答案 0 :(得分:11)

您只需要使用 RC2 引用其他包。在project.json只需添加对"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final"包的引用,您就会获得正在寻找的正确扩展方法。

"dependencies": {
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final"
}

ASP.NET Core RC2 的一些更改一样,有很多重新打包和移动的东西。我把你可能觉得有用的migration guide放在一起。

答案 1 :(得分:3)

您需要添加包:

"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",

并确保使用:

using Microsoft.Extensions.Configuration;