2010-05-16 20 views
0

不知道從哪裏開始,但我已經得到了最新的NHibernate的版本,成功繪製最簡單的業務對象,等當試圖移動到FluentNHibernate和做同樣的事情,我得到了構建此錯誤信息:從NHibernate移到FluentNHibernate:程序集錯誤(與版本有關)?

「System.IO.FileLoadException:可能 無法加載文件或程序集NHibernate的, 版本= 2.1.0.4000,文化=中立, 公鑰= aa95f207798dfdb4'或其依賴 一個被定位的 大會。清單定義 與程序集引用不匹配。「

背景:我對Hibernate,NHibernate的,並且FluentNHibernate - 而不是.NET,C#等

數據庫 我有一個數據庫表名爲類別:

(PK)類別ID(類型:INT),獨特的自動遞增 用戶名(類型:唯一標識符) - 鑑於ASP.NET數據庫 名稱(類型用戶的Guid值:VARCHAR(50) - 標題的類別

涉及的組件:

  • 我有一個SessionProviderClass其創建映射到數據庫
  • 我有一個類別類擁有所有FluentNHibernate虛方法來覆蓋
  • 我有一個CategoryMap: ClassMap類,它爲實體做了流利的映射
  • 我有一個CategoryRepository類,其中包含要添加的方法&保存類別
  • 我有使用CategoryRepository類的TestCatAdd.aspx文件。

會很樂意發佈代碼任何這些,但我不知道它是必要的,因爲我認爲這個問題是某處有什麼之間FluentNHibernate引用和NHibernate的我從安裝版本衝突之前。

在此先感謝您的幫助!

+2

看起來錯誤與您的代碼無關,並且與項目引用更相關。你有沒有嘗試刪除參考並重新添加它? – 2010-05-16 05:22:50

回答

2

沒有「從NHibernate遷移到FluentNHibernate」這樣的事情。

FluentNHibernate僅僅是NHibernate的一個插件,提供了一個稍微不同的方式來創建的映射。

該錯誤信息是明確的:你使用的編譯NHibernate的2.1.0版本FluentNHibernate的,而你試圖與NHibernate 2.1.2,因此,版本衝突中使用它。

無論是下載版本流利的使用NH 2.1.2或從源代碼編譯。

1

感謝所有,

真正的答案是刪除並重新添加一個以FluentNHibernate附帶的組件(包括NHibernate的的兼容版本)。

我也不得不記住添加正確的引用(例如,使用NHibernate的時候,我沒有加入到Castle.dll參考等)

然而,這個發現更多的問題,我將在一個單獨的線程中發佈。

謝謝!

+0

該方法的問題在於,您正在使用過時的NHibernate版本,它錯過了幾個修復程序,只是爲了使用Fluent。 – 2010-05-16 15:56:16

+0

Fluent NHibernate可以在我們的1.0版本2.1.0(我相信)的時候使用最新的NHibernate GA版本。 'master'分支現在運行在2.1.2GA上,這就是我們即將發佈的1.1版本發佈的內容。 – 2010-05-17 03:56:04

相關問題