我想如下注册我的通用仓库的所有实现:登记 - 类型参数不匹配
container.Register(typeof(IRepository<>), new[] { typeof(Repository<>).Assembly });
但是,容器无法验证我的配置:
附加信息:配置无效。为类型IErrorLogService创建 实例失败。类型为 的构造函数ErrorLogService包含名称为'errorLogRepository' 和类型IRepository < ErrorLog>的未注册参数。请确保 IR知识库< ErrorLog>已注册,或者更改 ErrorLogService的构造函数。请注意,存在不同的 类型的注册类型Persistence.Interfaces.Repository.Generic.IRepository < T>,而 请求的类型为 Persistence.Interfaces.Repository.Generic.IRepository < Persistence.DataModel.ErrorLog>。
根据various SO threads,上面的代码段应该是要走的路。我错过了什么?
我的仓储类:
public class Repository<T> : IRepository<T> where T : Entity { }
IRepository
和Repository
存在于同一装配。
每种类型的显式注册工作:
container.Register<IRepository<ErrorLog>, Repository<ErrorLog>>();
请提供您的问题链接到各种SO线程。 – Enigmativity
@Steven对不起,我的更新有帮助吗? – Johan