我在申请中使用DRYIOC进行DI。我在我的MVC应用程序中有接口,我想注册到dryIOC。所以我使用RegisterMany如下。
container.RegisterMany(new[] { Assembly.Load(DIAssemblyCollection["WebAssembly"]) },
serviceTypeCondition: type => type.IsInterface,
setup: Setup.With(allowDisposableTransient: true));
但我收到的错误如下
未指定如何为具有0个公共构造函数的实现类型Web.Enums.Enum1选择单个构造函数。
答案 0 :(得分:1)
看起来像个bug,但需要先查看代码。
同时你可以只过滤实现类型,只保留类:
container.RegisterMany(
Assembly.Load(DIAssemblyCollection["WebAssembly"])
.GetLoadedTypes()
.Where(type => type.IsClass),
serviceTypeCondition: type => type.IsInterface,
setup: Setup.With(allowDisposableTransient: true));
已修复DryIoc 2.7