如何正确激活使用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后尝试立即添加
serviceCollection.AddOptions();