ASP.NET Core RC2配置自定义应用程序设置

ASP.NET Core RC2配置自定义应用程序设置,asp.net,configuration,asp.net-core,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; }

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

"MySettings": {
    "SmtpHost": "smtp.mydomain.com"",
    "WebService": "http://localhost:1337"
}
我有下面的类来保存这些设置

public class MySettings
{
    public string SmtpHost{ get; set; }
    public string WebService{ get; set; }
}
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
对于RC1,我将在ConfigureServices()方法中使用下面的代码行来加载这些配置设置

public class MySettings
{
    public string SmtpHost{ get; set; }
    public string WebService{ get; set; }
}
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
services.Configure(Configuration.GetSection(“MySettings”);
但在RC2中,同一行代码给了我这个错误

无法从转换 “MicrosoftExtensions.Configuration.IConfigurationSection”到 '系统操作
'


您需要添加包:

"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",
并确保您通过以下方式获得此信息:

using Microsoft.Extensions.Configuration;

您只需使用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的一些更改一样,有很多东西需要重新打包和移动。我把一个你可能会觉得有用的问题放在一起。

LOL。我发布这个问题的目的是想自己回答,因为我找不到答案。因此,其他可能遇到相同问题的人可以快速得到答案。你赢了我。干得好@ClintB,我在.NET slack room上向社区指出了这一点。最初对此有很多困惑。我很高兴能帮上忙。谢谢你的链接!我把它放在书签上,然后再看一遍。我正试着决定你和乔之间接受谁的答案。您的迁移指南使您成为赢家。@ClintB,谢谢。顺便说一句,他和我在同一个懒散的房间里,所以他最初可能从我这里得到了答案:PLOL。我发布这个问题的目的是想自己回答,因为我找不到答案。因此,其他可能遇到相同问题的人可以快速得到答案。你赢了我。干得好!