我在这行代码上遇到错误:
using (IMaterialClient rawMaterialServiceProxy =
ServerUtility.Container.Resolve<IMaterialClient>())
错误:
依赖关系解析失败...当前类型 Xxx 是
接口,无法构造。您是否缺少类型映射?
我没有注册具体的 IMaterialClient。在我刚刚观看的 Pluralsight 视频中,他们说您不必注册每种类型,因为如果未指定类型,Unity 会找到一种实现。那改变了吗?我错过了什么吗?为什么不解决这个问题呢?运行此程序时,具有实际 IMaterialClient 实现的程序集位于 bin 文件夹中。
如果他们对 Unity 这么说,那他们就错了。 Unity 将解析具体类型 (.Resolve<MyClass>
),但必须通过将接口与具体类型关联来显式注册接口。
有一些扩展,例如Unity自动注册 http://autoregistration.codeplex.com/提供这些功能;我对他们没有经验。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)