gpt4 book ai didi

Asp.Net-5类库(包)测试注入(inject)IOptions

转载 作者:行者123 更新时间:2023-12-01 16:00:35 25 4
gpt4 key购买 nike

我创建了一个新项目:类库(包)来测试我的存储库,因为我需要测试我从 asp.net vnext 使用的 DataRepository 层。

我想像 asp.net vnext 一样使用 DI,但我无法从 IServiceCollection 创建实例并注入(inject) IOptions。

我试过

var serviceProvider = new ServiceCollection()
.AddTransient<ISampleRepository, SampleRepository>()
.BuildServiceProvider();

SampleRepository 的 Ctor 是

public SampleRepository(IOptions<Settings> settings)

但我收到以下错误消息:

结果消息:无法解析类型为“Microsoft.Framework.OptionsModel.IOptions`1[Repository.Sample.Settings]”的服务在尝试激活“Repository.Sample.SampleRepository”时。

最佳答案

您需要添加 OptionsManager服务来解析像 IOptions<> 这样的类型

.Add(ServiceDescriptor.Singleton(typeof(IOptions<>), typeof(OptionsManager<>)));

关于Asp.Net-5类库(包)测试注入(inject)IOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33135499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com