2010-04-12 4 views
1

J'avais une vieille (mais super) application en utilisant NHibernate 1.0.2. Travaillé comme un charme. Mais j'ai décidé de passer à NHibernate 2.1.2. J'ai dû changer certaines choses, a également bien fonctionné.NHibernate 2.1 MsSql2000Dialect erreur

Le problème est, j'ai fondé cette nouvelle version fonctionne dans certaines machines et ne fonctionne pas dans d'autres. Que diable? Penser un moment, j'ai découvert qu'il ne fonctionne que dans les PC avec SQL 2000 installé !! version précédente utilisée pour des œuvres partout .... Découvrez un morceau de mon exception, il doit faire avec 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) 

Pourriez-vous aider? Merci!

+0

Tenez vos chevaux! Je pense peut-être que la différence est dans le framework 3.5 au lieu de SQL Server. Je ne l'ai pas encore essayé. Je vous le ferai savoir. –

Répondre

0

En fait, j'ai dû installer Framework 3.5. Alors ça a marché.

Je ne me souviens pas d'avoir vu fw3.5 comme une exigence sur le site nhibernate.

merci les gars !!!

1

Le problème est à voir avec DateTimeOffset - vous avez besoin .Net 3.5 ou .Net 2.0 SP1 (merci dan) installé pour cela.

(No se puede cargar el tipo 'System.DateTimeOffset' del ensamblado'mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089')

+1

En fait, non. FW 3.5 n'est pas nécessaire. Vous avez juste besoin de Framework 2.0 SP1, ce qui me permet de le faire fonctionner sous Windows 2000. Apparemment, il est également livré avec Framework 3.5, c'est ce qui m'a désorienté. Jon Skeet m'a donné la réponse, merci Jon –

+0

Merci Dan - Je ne savais pas cela. –

Questions connexes