2010-04-12 6 views
1

나는 NHibernate 1.0.2를 사용하여 오래된 (하지만 위대한) 응용 프로그램을 가졌습니다. 매력처럼 일했습니다. 하지만 NHibernate 2.1.2로 업그레이드하기로 결정했습니다. 물건을 바꿔야 만했다.NHibernate 2.1 MsSql2000Dialect 오류

문제는 새로운 버전이 일부 컴퓨터에서 작동하고 다른 버전에서는 작동하지 않는다는 것을 알아 냈습니다. 이런 젠장? 잠시 생각해 보면, SQL 2000이 설치된 PC에서만 작동한다는 것을 발견했습니다 !! 내 예외의 조각을 확인 사방 작품에 사용 된 이전 버전은 ..., 당신이 도움이 될 수 mssql2000Dialect

NHibernate.MappingException: Could not compile the mapping document: Datos.NH_VEN_ComprobanteBF.hbm.xml ---> NHibernate.HibernateException: Could not instantiate dialect class NHibernate.Dialect.MsSql2000Dialect ---> System.Reflection.TargetInvocationException: Se produjo una excepción en el destino de la invocación. ---> System.TypeInitializationException: Se produjo una excepción en el inicializador de tipo de 'NHibernate.NHibernateUtil'. ---> System.TypeLoadException: No se puede cargar el tipo 'System.DateTimeOffset' del ensamblado'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 
    en NHibernate.Type.DateTimeOffsetType.get_ReturnedClass() 
    en NHibernate.NHibernateUtil..cctor() 
    --- Fin del seguimiento de la pila de la excepción interna --- 
    en NHibernate.Dialect.Dialect..ctor() 
    en NHibernate.Dialect.MsSql2000Dialect..ctor() 
    --- Fin del seguimiento de la pila de la excepción interna --- 
    en System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) 
    en System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) 

과 관련이있다? 감사합니다 !!!!

+0

당신의 말을 잡아! 아마 차이점은 SQL Server 대신 Framework 3.5에 있다고 생각합니다. 아직 시도하지 않았습니다. 내가 알려 주마. –

답변

0

사실, Framework 3.5를 설치해야했습니다. 그런 다음 효과가있었습니다.

nhibernate 사이트의 요구 사항으로 fw3.5로 간주되는 haveng은 기억하지 않습니다.

감사합니다 !!!

1

문제가 DateTimeOffset과 관련이 있습니다.이 문제는 .Net 3.5 또는 .Net 2.0 SP1 (thanks dan)이 설치되어 있어야합니다.

(아니 그 자체 puede cargar 엘 억센 'System.DateTimeOffset'델 ensamblado'mscorlib, 버전 = 2.0.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089 ')

+1

사실, 아니요. FW 3.5는 꼭 필요한 것은 아닙니다. 프레임 워크 2.0 SP1 만 있으면 Windows 2000에서 작동하게 할 수 있습니다. 프레임 워크 3.5와 함께 제공되는 것 같아서 혼란 스러웠습니다. Jon Skeet이 대답을 나에게주었습니다. Jon –

+0

Dan 감사합니다. –