0

我已经在我的一个项目中实现了 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' 的类型初始化程序引发了异常。

我该如何解决这个问题?任何想法?

4

0 回答 0