【问题标题】:ASP.NET Core RC2 Configure Custom AppSettingsASP.NET Core RC2 配置自定义 AppSettings
【发布时间】:2016-09-23 02:56:21
【问题描述】:

假设我将下面的设置放在 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&lt;MySettings&gt;'。

【问题讨论】:

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


    【解决方案1】:

    您只需使用 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,您可能会觉得有用。

    【讨论】:

    • 哈哈。我发布这个问题的目的是为了自己回答,因为我在 SO 上找不到答案。因此,可能遇到相同问题的其他人可以快速获得答案。你打败了我。干得好!
    • @ClintB,我在 .NET slack room 上向社区指出了这一点。最初对此有很多困惑。我很高兴能帮上忙。
    • 感谢您的链接!我给它加了书签,我会仔细阅读。我试图决定在你和乔之间给谁提供公认的答案。您的迁移指南让您成为赢家。
    • @ClintB,谢谢。顺便说一句-他在同一个休闲室,所以他最初可能从我这里得到了答案:P
    【解决方案2】:

    你需要添加包:

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

    并确保你有这个使用:

    using Microsoft.Extensions.Configuration;
    

    【讨论】:

    • 哈哈。我发布这个问题的目的是为了自己回答,因为我在 SO 上找不到答案。因此,可能遇到相同问题的其他人可以快速获得答案。你打败了我。干得好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2018-12-27
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多