2011-12-27 20 views
2

嗨我試圖建立一個項目使用FluentNHibernate連接到MS Access數據庫。我使用Windows 7 64位上的Visual Studio 2010在https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.JetDriver/中構建JetDriver dll。我確保該項目是爲x86 CPU編譯的,然後我將生成的dll複製到另一個項目中並對其進行了引用。當我運行的項目我得到這個異常:獲取JetDriver的NHibernate

「無法加載文件或程序集‘NHibernate的,版本= 1.0.4.0,文化=中性公鑰= 154fdcb44c4484fc’或它的一個依賴的位置。組件的清單定義不匹配的組件參考(從HRESULT異常:0x80131040)。 「:」 NHibernate的,版本= 1.0.4.0,文化=中性公鑰= 154fdcb44c4484fc」

在該方法中:

return Fluently.Configure() 
    .Database(
     JetDriverConfiguration.Standard.ConnectionString(
      c => c.DatabaseFile(Settings.Default.SnelstartAdministrationName + ".mdb")) 
      ) 
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<OrderMap>()) 
    .BuildSessionFactory(); 

這是否意味着J etDriver.dll期待NHibernate.dll版本1.0.4.0?我如何確保它需要包含在我的項目中的NHibernate.dll?

http://www.ohloh.net/p/NHibernateContribhttps://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.JetDriver/有關嗎?我在http://www.ohloh.net/p/NHibernateContrib的代碼中找不到驅動程序。

+0

這不是一個FluentNHibernate問題 - 而是一個NHibernate問題。 FluentNHibernate只是幫助映射。如果您在連接到特定類型的數據庫(缺少會話工廠配置)或查詢時遇到問題,那麼問題出在NHibernate上。這就是說 - 使用NHibernate關鍵字而不是FluentNHibernate來查找這個問題,你會找到答案。這是我的:http://stackoverflow.com/questions/6834332/using-nhibernate-3-x-with-jet-driver-microsoft-access – Origin 2012-01-03 14:16:40

回答

0

您使用的是哪種版本的nhibernate和流利的nhibernate?
我認爲你是使用不同版本的功能NHibernate的NHibernate的,如果你使用NHibernate的3.2,你必須使用功能NHibernate版本1.3.0.717,你可以從this link

+0

我的項目中的參考版本是: NHibernate.JetDriver: 1.0.4.0 NHibernate:3.1.0.4000 FluentNHibernate:1.2.0.712' 我敢肯定它不是NHibernate和FluentNHibernate的問題,因爲當我使用MySQL作爲數據庫後端時,代碼運行良好。 – 2011-12-27 14:32:41

1

下載建設NHibernate.JetDriver更換任何NHibernate的.dll文件在此之前,與來源,來自您正在使用的版本(3.1)的文件並再試一次。

我已經完成了此操作,但版本2.x。我希望它也適用於3.1。

+0

我已經完成了這個以及版本3.0.0.4000,它的工作原理!我只使用香草NH(不含Fluent NH)。 – 2011-12-27 21:57:00