当前位置: 首页 > 知识库问答 >
问题:

我如何阅读。标准类库中的Net Core配置?

夹谷晋
2023-03-14

今天(2016年11月11日)我下载了新的Visual Studio 2017 RC,安装。NET Core 1.1并设置一个Web Api项目(ASP. NET Core Web Application(.NET Core))。然后,我按照说明如何从配置文件中读取应用程序设置。这工作得很好。

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

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

类型或命名空间名称“IOptions”

这是我在类库中的班级:

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

下面是Startup.cs中的ConfigreServices方法:

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核心

共有1个答案

庄元龙
2023-03-14

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

 类似资料:
  • 问题内容: 我有以下从缓冲读取器读取数据的示例: 每当缓冲读取器中出现某些情况时(在这种情况下),将执行循环中的代码。在我的情况下,如果客户端应用程序将某些内容写入套接字,则将执行循环中的代码(服务器应用程序中)。 但是我不明白它是如何工作的。等待直到缓冲读取器中出现某些内容,当其中出现某些内容时,它将返回并执行循环中的代码。但是什么时候可以退货。 还有另一个问题。上面的代码摘自一个方法,我在线程

  • 问题内容: 我需要从请求中获取所有参数,包括“#”之后的内容。示例:请求:http:// myserver / m#q = abc 我需要我的服务器获取“#”之后的所有参数,因为它们在“?”之后的位置 我怎样才能做到这一点?10倍,Koby 问题答案: 请求资源时,客户端不会将RFC 1738 中所指的锚点或URL片段发送给服务器。理由是片段URL用于标识资源内的位置,而不是服务器上的其他资源。为

  • 标准库提供了很多自定义类型,在原生类型基础上进行了大量扩充。这是部分自定义类型: 可增长的 String(可增长的字符串),如: "hello world" 可增长的 vector: [1, 2, 3] 选项类型(optional types): Option<i32> 错误处理类型(error handling types): Result<i32, i32> 堆分配的指针(heap alloc

  • panic! 宏可用于产生一个 panic (恐慌),并开始展开它的栈。在展开栈的同时,运行时将会释放该线程所拥有的所有资源,是通过调用对象的析构函数完成。 因为我们正在处理的程序只有一个线程,panic! 将会引发程序上报 panic 消息并退出。 // 再次实现整型的除法(/) fn division(dividend: i32, divisor: i32) -> i32 { if d

  • 问题内容: 我有servlet- api版本2.5,作为pom.xml中提供的范围。这是我的项目的dependency:tree输出的一部分。“从2.3版本管理;从编译范围管理”是什么意思? 这是否意味着我的类路径上对版本2.3有一些传递依赖?我的WAR文件根本没有servlet- api jar,但是我使用的是Spring 2.5.4的旧版本。我怀疑Spring框架取决于servlet-api

  • Smart_ptr库已被提议包含进标准库中,主要有以下三个原因: 标准库现在只提供了一个auto_ptr, 它仅是一类智能指针,仅仅覆盖了智能指针族谱中的一个部分。shared_ptr 提供了不同的,也是更重要的功能。 Boost的智能指针专门为了与标准库良好合作而设计,并可作为标准库的自然扩充。例如,在 shared_ptr之前,还没有一个标准的智能指针可用作容器的元素。 长久以来,现实世界中的