如何让NHibernate与.NET Framework 2.0一起使用?

时间:2010-04-12 16:58:21

标签: .net nhibernate .net-2.0

我不能让NHibernate 2.1在没有框架3.X的机器上工作(基本上,Windows 2000 SP4,虽然它也适用于XP)。

NHibernate doc没有提到这一点。也许你可以帮忙吗? 我需要让NHibernate 2.1在Windows 2000 PC上运行,你认为这可以做到吗?

PD:DataBase是SQL 2000/2005。错误是:

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)
   en System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
   en System.Activator.CreateInstance(Type type, Boolean nonPublic)
   en NHibernate.Bytecode.ActivatorObjectsFactory.CreateInstance(Type type)
   en NHibernate.Dialect.Dialect.InstantiateDialect(String dialectName)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en NHibernate.Dialect.Dialect.InstantiateDialect(String dialectName)
   en NHibernate.Dialect.Dialect.GetDialect(IDictionary`2 props)
   en NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en NHibernate.Cfg.Configuration.LogAndThrow(Exception exception)
   en NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)
   en NHibernate.Cfg.Configuration.ProcessMappingsQueue()

并继续......

1 个答案:

答案 0 :(得分:2)

您应该可以在.NET 2.0SP1上使用它。这就是引入DateTimeOffset的地方。 2.0 SP1将在Windows 2000 SP4上运行。