.net core 如何在标准类库中读取.Net核心配置?

.net core 如何在标准类库中读取.Net核心配置?,.net-core,asp.net-core-webapi,.net Core,Asp.net Core Webapi,今天(2016年11月11日),我下载了新的Visual Studio 2017 RC,安装了.Net Core 1.1并建立了一个Web Api项目(ASP.Net Core Web应用程序(.Net Core))。然后,我按照上面的说明进行操作。这很有效 然后,我用相同的解决方案创建了一个新项目。这是.NET核心部分下的类库(.NET标准)。我添加了一个带有接口的类,并使用默认依赖项注入进行设置 最后,我尝试通过构造函数注入使用类库中的配置。我收到以下错误消息: 找不到类型或命名空间名称“I

今天(2016年11月11日),我下载了新的Visual Studio 2017 RC,安装了.Net Core 1.1并建立了一个Web Api项目(ASP.Net Core Web应用程序(.Net Core))。然后,我按照上面的说明进行操作。这很有效

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

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

找不到类型或命名空间名称“IOptions”

这是我在类库中的类:

public class Firebase : IDatabase
{
    public Firebase(IOptions<AppSettings> appSettings)
    {
        //string basePath = 
    }
}  
但灯泡告诉我这是一个不必要的参考


我错过了什么?这不可能吗?是否有针对.NET Core的特殊类库

在.NET内核中使用
IOptions{T}
是正确的方法。Visual Studio 2017表明存在不必要的使用。这有点让人困惑,因为当指针位于Microsoft.Extensions.Options上时,Visual Studio会使用来指示这一点。看看VisualStudio提出的建议,它没有删除Microsoft.Extensions.Options,而是删除了e.q.`System的其他用法。

谢谢您的回答!它让我检查可能丢失的参考资料。原来我引用了Microsoft.Extensions.Configuration(1.1.0),但没有引用Microsoft.Extensions.Options.ConfigurationExtensions(1.1.0)。在VS 2017再次重启后,这终于奏效了!
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;