2009-12-16 2 views
1

나는 간단한 NHibernate 어플리케이션을 실행 시키려고 노력하고있다. 나는 "NHibernate 시작하기"단계별로하고있다. 먼저 잘못된 속성을 가져 와서 오류를 수정했습니다.NHibernate가 프록시 팩토리를로드 할 수 없다.

는 지금, 나는 예외를 얻을 :

유형로드 할 수 없습니다 'NHibernate.ByteCode.Castle.ProxyFactoryFactory을 NHibernate.ByteCode.Castle' 프록시 팩토리 클래스 구성하는 동안.

가능한 원인은 있습니다 - NHibernate.Bytecode 공급자 어셈블리가 배치되지 않았습니다. - session-factory 섹션의 'proxyfactory.factory_class'속성을 초기화하는 데 사용 된 typeName 형식이 올바르지 않습니다.

솔루션 : NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll "

언급 된 파일은 휴지통 폴더에 있습니다 배포 폴더는 다음 어셈블리 중 하나를 포함 확인 , QuickStart.dll이있는 곳 나는이 일이 왜 일어나는지 전혀 모른다! 나는이 일을하기 위해 오늘 하루를 보내고있다. SO의 질문 (Unable to load type ‘NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu’)이 도움이되지 않았다. (

의 Web.config에서 최대 절전 모드 설정 :

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
     <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property> 
     <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
     <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
     <property name="connection.connection_string">Server=(local);initial catalog=quickstart;Integrated Security=SSPI</property> 
     <property name="connection.isolation">ReadCommitted</property> 
     <property name="default_schema">Monitor.dbo</property> 
     <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 
     <!-- HBM Mapping Files --> 
     <mapping assembly="QuickStart"/> 
    </session-factory> 
</hibernate-configuration> 

답변

1

구성 파일이 DLL을 참조 있는지 확인하십시오, 당신은 당신의 bin 폴더에 NHibernate.ByteCode.Castle.dll이 필요합니다 성 동적 프록시를 사용하도록 NHiberante를 구성하기 때문에 응용 프로그램에서 프로젝트 출력 경로로 복사됩니다.

융합 로그를 활성화하고 NHibernate가 dll을 찾는 위치를 확인하십시오.

+1

시간이 지나면 문제가 발생하여 잘못된 버전의 성 및 바이트 코드 어셈블리가로드되고있는 것으로 나타났습니다. 매우 감사합니다! – Liao

관련 문제