。NET Core控制台应用程序中依赖项注入的访问配置

问题描述 投票:3回答:1

如何正确激活使用ServiceCollection.Configure函数添加的配置?

     public static void Main(args[] args)
     { 
        serviceCollection = new ServiceCollection();
        serviceCollection .Configure<MyOptions>(Configuration.GetSection("options"));
        Services = serviceCollection.BuildServiceProvider();

        ActivatorUtilities.CreateInstance<MyOptions>(Services);
        ActivatorUtilities.CreateInstance<SomeClassThatNeedsoptions>(Services);
     }


 public SomeClassThatNeedsoptions(IOptions<MyOptions> options)
 {
     _options = options.Value;
 }

在第二个ActivatorUtilities.CreateInstance上出现以下错误

无法解析'Microsoft.Extensions.Options.IOptions [MyOptions]类型的服务

我正在控制台应用程序中编写此代码,据我了解,我是使用ActivatorUtilities类手动注入依赖项。我似乎能够通过AddSingleton添加的服务来做到这一点,但不能通过.Configure添加的服务来做到这一点。

如何正确激活使用ServiceCollection.Configure函数添加的配置?公共静态无效的Main(args [] args){serviceCollection = new ...

c# dependency-injection asp.net-core asp.net-core-1.0
1个回答
0
投票

实例化ServiceCollection之后尝试添加立即内容

© www.soinside.com 2019 - 2024. All rights reserved.