2010-03-12 55 views
5

我們有一個使用FluentNibernate來映射實體的項目。現在我需要爲這些地圖添加一些格式驗證。對於可爲空,長度等,我們正在使用映射。我將NHibernate Validator添加到了項目中,但收到了關於需要NHibernate版本2.1.2.4000的編譯時錯誤。所以我升級到該版本只是爲了得到一個運行時錯誤,指出它找不到NHibernate 2.1.0.4000。我可以使用FluentNibernate編寫擴展方法來進行驗證嗎?我是否必須使用相同版本的NHibernate重新編譯這兩個版本?首選的方法是使用這些發佈。任何其他設備將不勝感激。fluentnhibernate和nhibernate驗證程序版本錯誤

回答

5

1)重新編譯是一個選項,這將允許您使用這兩個這些沒有彙編問題。

2)另一個將是一個程序集綁定重定向,任何調用早期版本的NHibernate,你可以強制轉到你有的版本。爲此,您可以與您的app.conifg/web.conifg

(你可以找到更多關於它here

<configuration> 
     <runtime> 
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4"/> 
       <bindingRedirect oldVersion="2.1.0.4000" newVersion="2.1.2.4000"/> 
      </dependentAssembly> 
      </assemblyBinding> 
     </runtime> 
</configuration> 
+0

非常感謝你:) – Pondidum 2010-05-12 15:41:04

0

最新版本,NHibernate.Validator 1.2.0 CR1和FluentNHibernate 1.0.0.632,都是針對NHibernate 2.1.2.4000構建的。

要獲得最新版本的FluentNHibernate,請轉至build server at CodeBetter.com

要獲取最新版本的NHibernate.Validator,請轉到nhibernate.info

0

不是說它會解決你的問題,但你有沒有考慮過FluentValidation。儘管如此,聽起來你已經得到了一個請求某個特定版本的DLL的引用。