我在我的项目中安装了unity,它可以处理那些没有实现构造器注入的对象。问题是,我现在确实有一个对象,它需要一个自定义对象作为构造函数参数。我已经设置了下面的配置,这个错误告诉我"TypeConverter无法从System.String转换“
<unity>
<typeAliases>
<typeAlias alias="TransactionRepositoryInterface" type="Ib.TransactionViewer.DataAccess.ITransactionRepository, Ib.TransactionViewer.DataAccess" />
<typeAlias alias="TransactionRepositoryToUse" type="Ib.TransactionViewer.DataAccess.TransactionRepository, Ib.TransactionViewer.DataAccess" />
</typeAliases>
<containers>
<container>
<types>
<type type="TransactionRepositoryInterface" mapTo="TransactionRepositoryToUse">
<lifetime type="singleton" />
<typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<constructor>
<param name="TransactionProcessor" parameterType="Ib.TransactionViewer.DataAccess.TransactionProcessor, Ib.TransactionViewer.DataAccess">
<value value="Ib.TransactionViewer.DataAccess.TransactionProcessor" type="Ib.TransactionViewer.DataAccess.TransactionProcessor, Ib.TransactionViewer.DataAccess" />
</param>
</constructor>
</typeConfig>
</type>
</types>
</container>
</containers>
</unity>
发布于 2009-11-16 06:38:30
我不确定,但在我看来,unity正在尝试使用价值
Ib.TransactionViewer.DataAccess.TransactionProcessor
作为字符串。
也许你应该这样写:
<unity>
<typeAliases>
<typeAlias alias="TransactionRepositoryInterface" type="Ib.TransactionViewer.DataAccess.ITransactionRepository, Ib.TransactionViewer.DataAccess" />
<typeAlias alias="TransactionRepositoryToUse" type="Ib.TransactionViewer.DataAccess.TransactionRepository, Ib.TransactionViewer.DataAccess" />
</typeAliases>
<containers>
<container>
<types>
<type type="TransactionRepositoryInterface" mapTo="TransactionRepositoryToUse">
<lifetime type="singleton" />
<typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<constructor>
<param name="TransactionProcessor" parameterType="Ib.TransactionViewer.DataAccess.TransactionProcessor, Ib.TransactionViewer.DataAccess">
<dependency />
</param>
</constructor>
</typeConfig>
</type>
</types>
</container>
</containers>
</unity>
https://stackoverflow.com/questions/1738161
复制相似问题