如何在标准 class 库中读取 .Net Core 配置?

How do I read .Net Core configuration in a standard class library?

今天(2​​016 年 11 月 11 日)我下载了新的 Visual Studio 2017 RC,安装了 .Net Core 1.1 并设置了一个 Web Api 项目(ASP.NET核心 Web 应用程序 (.NET Core))。然后我按照 上的说明进行操作。这很好用。

然后我在同一个解决方案中创建了一个新项目。这是 Class 库(.NET 标准).NET Core 部分下。我添加了一个带有接口的 class 并使用默认依赖注入进行设置。

最后,我尝试通过构造函数注入来使用class库中的配置。我收到此错误消息:

The type or namespace name 'IOptions<>' could not be found

这是我在 class 库中的 class:

public class Firebase : IDatabase
{
    public Firebase(IOptions<AppSettings> appSettings)
    {
        //string basePath = 
    }
}  

这是 Startup.cs 中的 ConfigureServices 方法:

public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();
        services.AddTransient<IDatabase, Firebase>();

        // Set up configuration files.
        services.AddOptions();
        services.Configure<AppSettings>(options => Configuration.GetSection("AppSettings").Bind(options));
    }  

我尝试添加

using Microsoft.Extensions.Options;  

让它编译,但灯泡告诉我这是一个不必要的参考。

我错过了什么?这不可能吗? .NET Core 有专门的 class 库吗?

使用 IOptions{T} 是 .NET Core 中的正确方法。 Visual Studio 2017 表示有不必要的使用。这有点令人困惑,因为 Visual Studio 在指针位于 Microsoft.Extensions.Options using 上时指示这一点。查看 Visual Studio 提出的建议,它不会删除 Microsoft.Extensions.Options 使用但 e.q 的其他使用。 `系统.