Hal*_*ard 2 .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 Core部分下的类库 (.NET Standard)。我添加了一个带有接口的类,并使用默认的依赖注入进行了设置。
最后,我尝试通过构造函数注入使用类库中的配置。我收到此错误消息:
找不到类型或命名空间名称“IOptions<>”
这是我在类库中的类:
public class Firebase : IDatabase
{
public Firebase(IOptions<AppSettings> appSettings)
{
//string basePath =
}
}
Run Code Online (Sandbox Code Playgroud)
下面是 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));
}
Run Code Online (Sandbox Code Playgroud)
我试着添加
using Microsoft.Extensions.Options;
Run Code Online (Sandbox Code Playgroud)
使其编译,但灯泡告诉我这是一个不必要的参考。
我错过了什么?这不可能吗?.NET Core 是否有特殊的类库?
IOptions{T}在 .NET Core 中使用是正确的方法。Visual Studio 2017 表明有不必要的使用。这有点令人困惑,因为当指针位于Microsoft.Extensions.Optionsusing上时,Visual Studio 会指示这一点。看看 Visual Studio 提出的建议,它没有删除Microsoft.Extensions.Optionsusing 而是 eq `System.
| 归档时间: |
|
| 查看次数: |
3510 次 |
| 最近记录: |