2009-11-15 5 views
2

프로젝트에 설정 화합이 있으며 생성자 주입이 구현되지 않은 객체에서 작동합니다. 문제는 이제 사용자 지정 개체를 생성자 인수로 필요로하는 개체가 있습니다. 나는 아래의 설정을 설정하고,이 오류가 나는 확실하지 않다유니티 생성자

<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> 
+1

는 XML 구성 요구 사항을 사용하고 있습니다 :

아마 당신은 뭔가를 작성해야? 필자는 Fluent in-code 구성을 선호합니다. 나는 당신이 읽고 디버깅하는 것이 더 쉬울 것이라고 생각합니다. – TrueWill

답변

2

"TypeConverter를가 선택 System.String에서 변환 할 수 없습니다"라고 나에게 이야기하지만 통일이 값을

를 사용하려고하는 나에게 보이는 것

Ib.TransactionViewer.DataAccess.TransactionProcessor

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">  
       <dependency />  
       </param> 
      </constructor>  
      </typeConfig>  
     </type>  
     </types> 
    </container>  
    </containers>  
</unity>