C# 为NHibernate获取JetDriver

C# 为NHibernate获取JetDriver,c#,.net,nhibernate,ms-access,fluent-nhibernate,C#,.net,Nhibernate,Ms Access,Fluent Nhibernate,嗨,我正在尝试使用FluentNHibernate构建一个项目,并连接到MS Access数据库。我在Windows7 64位上使用VisualStudio2010构建JetDriver dll。我确保该项目是为x86CPU编译的,然后将生成的dll复制到另一个项目中,并对其进行了引用。当我运行项目时,会出现以下异常: “无法加载文件或程序集'NHibernate,版本=1.0.4.0,区域性=中立,PublicKeyToken=154fdcb44c4484fc'或其依赖项之一。找到的程序集的清

嗨,我正在尝试使用FluentNHibernate构建一个项目,并连接到MS Access数据库。我在Windows7 64位上使用VisualStudio2010构建JetDriver dll。我确保该项目是为x86CPU编译的,然后将生成的dll复制到另一个项目中,并对其进行了引用。当我运行项目时,会出现以下异常:

“无法加载文件或程序集'NHibernate,版本=1.0.4.0,区域性=中立,PublicKeyToken=154fdcb44c4484fc'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x8013100)”:“NHibernate,版本=1.0.4.0,区域性=中立,PublicKeyToken=154fdcb44c4484fc”

在这种方法中:

return Fluently.Configure()
    .Database(
        JetDriverConfiguration.Standard.ConnectionString(
            c => c.DatabaseFile(Settings.Default.SnelstartAdministrationName + ".mdb"))
            )
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<OrderMap>())
    .BuildSessionFactory();
流畅地返回。Configure()
.数据库(
JetDriverConfiguration.Standard.ConnectionString(
c=>c.DatabaseFile(Settings.Default.snelstartministrationname+“.mdb”))
)
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf())
.BuildSessionFactory();
这是否意味着JetDriver.dll需要NHibernate.dll的1.0.4.0版?如何确保它需要包含在我的项目中的NHibernate.dll


它与什么有关?我在代码中找不到驱动程序。

您使用的是哪个版本的nhibernate和fluent nhibernate?

我认为您使用的是不同版本的fluent nhibernate到nhibernate如果您使用的是nhibernate 3.2,您必须使用fluent nhibernate 1.3.0.717版本,并且您可以在构建nhibernate.JetDriver之前从

下载,将源代码附带的任何nhibernate.dll文件替换为您正在使用的版本(3.1)中的文件,然后重试


我以前做过这个,但是在版本2.x中。我希望它也适用于3.1。

我的项目中引用的版本是:NHibernate.JetDriver:1.0.4.0 NHibernate:3.1.0.4000 FluentNHibernate:1.2.0.712`我确信NHibernate和FluentNHibernate没有问题,因为当我使用MySQL作为数据库后端时,代码运行良好。我在版本中也做到了这一点3.0.0.4000,它可以工作!我只使用了香草NH(没有流利的NH)。这不是FluentNHibernate问题,而是NHibernate问题。FluentNHibernate只是协助映射。如果您在连接到特定类型的数据库(缺少会话工厂配置)或查询时遇到问题,那么问题在于NHibernate。也就是说,使用NHibernate关键字而不是FluentNHibernate来查找这个问题,你会找到答案。这是我的: