我有一个班级:
public class Foo : IFoo
{
}
和两个接口:
Public interface IFoo : IBar<SomeType>
{
}
public interface IBar<T>
{
DoSomething(T t);
}
我们正在使用XML Config,代码配置工作正常,但web.config没有。
错误如下:
依赖关系的解决方法失败,输入=&#34; IFoo&#34;,name =&#34;(none)&#34;。
在解决时发生例外情况。
异常是: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>
答案 0 :(得分:1)
我相信您可能正在使用UnityContainer的默认实例,因为您没有提及有关使用容器的命名实例的任何内容。
<container name="SomeName">
<register type="IFoo" mapTo="Foo" />
</container>
您正在将映射注册到“SomeName”而不是默认容器。
删除
name="SomeName"