我已经在我的一个项目中实现了 Microsoft 统一应用程序块。
项目的 Unity 配置文件为:
<UnityConfiguration xmlns="http://schemas.microsoft.com/practices/2010/unity">
<container>
<register type="IInputAdapterPoc" mapTo="InputAdapterPoc" />
</container>
<alias alias="IInputAdapterPoc" type="Company.Product.Pocc.IInputAdapterPoc,Company.Product.Pocc" />
<alias alias="InputAdapterPoc" type="Company.Product.Pocc.InputAdapterPoc,Company.Product.Pocc" />
项目的接口和创建类:
namespace Company.Product.Pocc
{
public class InputAdapterPoc : BaseInputAdapter, IInputAdapterPoc
{
public override void Process(Connector _connector) { }
public override void Intialize(Entity _entity) { }
}
}
namespace Company.Product.Pocc
{
public interface IInputAdapterPoc : IInputAdapter { }
}
namespace Company.Product.Interface
{
public interface IInputAdapter : IAdapter
{
void Process(Connector connect);
}
}
namespace Company.Product.Adapter
{
public abstract class BaseInputAdapter : IInputAdapter
{
public abstract void Process(Connector connect);
public abstract void Intialize(Entity entityMapping);
}
}
问题是 - 在执行代码时:
var instance = new UnityContainer().Resolve<AnyType>();
它抛出异常:
异常类型:System.TypeInitializationException
InnerException: {"无法解析类型名称或别名 IInputAdapterPoc。请检查您的配置文件并验证此类型名称。"}
信息:
'Company.Product.Utility.UnityHelper' 的类型初始化程序引发了异常。
我该如何解决这个问题?任何想法?