[英]Unity with interface that extends another interface
我有一堂课:
public class Foo : IFoo
{
}
和两个接口:
Public interface IFoo : IBar<SomeType>
{
}
public interface IBar<T>
{
DoSomething(T t);
}
我们正在使用XML Config,代码配置可以正常运行,但是web.config不能。
错误是这样的:
解决依赖关系失败,键入=“ IFoo”,名称=“(none)”。
发生以下异常:正在解决。
异常是:InvalidOperationException-当前类型IBar`1 [SomeType]是接口,不能构造。 您是否缺少类型映射?
mlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="IFoo"
type="IFoo, Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4bf38905880b60b" />
<alias alias="Foo"
type="Foo, Something, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4bf38905880b60b" />
<container name="SomeName">
<register type="IFoo" mapTo="Foo" />
</container>
</unity>
我相信您可能正在使用UnityContainer的默认实例,因为您没有提到有关使用容器的命名实例的任何内容。
<container name="SomeName">
<register type="IFoo" mapTo="Foo" />
</container>
您正在将映射注册到“ SomeName”,而不是默认容器。
去掉
name="SomeName"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.