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