[英]Is there a way to get Nhibernate 3 to work with Sharp Architecture using Visual Studio 2008?
我一直在嘗試找到與Visual Studio 2008一起使用並使用NHibernate 3的Sharp Architecture版本,但一直沒有成功。 我想使用NHibernate 3版中的QueryOver API。我可以找到的最新內部版本是sharp-architecture-1.6.0.0-templify-package.zip,它與Visual Studio 2008,MVC 2和NHibernate 2兼容。較新版本的Sharp Architecture僅與Visual Studio 2010兼容。我嘗試制作Sharp Architecture的自定義版本:
我在“ SharpArchitecture 1.6 Full Source”項目中更改了引用:
...通過在項目bin目錄中用新的dll替換舊的dll。 然后,我運行ClickToBuild.bat(位於下載的Sharp Architecture zip文件基本目錄中)來構建解決方案。 構建成功,所有測試通過。 然后,我用自己剛剛構建的新Sharp架構替換了自己項目中的所有dll。 我的項目確實可以編譯,但是當我運行它時,SharpArch.Data \\ NHibernate \\ NHibernateSession.cs會引發以下異常:
無法加載文件或程序集“ Castle.Core,版本= 2.5.1.0,區域性=中性,PublicKeyToken = 407dd0808d44fbdc”或其依賴項之一。 找到的程序集的清單定義與程序集引用不匹配。 (來自HRESULT的異常:0x80131040)
我嘗試在我的web.config中為Castle.Core使用bindingRedirect:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
<bindingRedirect oldVersion="2.5.1.0" newVersion="2.5.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
但這仍然行不通。
我在正確的軌道上嗎? 我還能做些什么才能使其正常工作?
我已經做到了。 您只需要更改S#項目中的引用,因為關於S#的NH 2.1到3.0(如果需要最新版本,則為3.1)沒有什么重大變化。
這樣會有點麻煩,但是絕對可以管理。
注意:不要忘記,像Fluent NHibernate這樣的項目也應該更新為使用NH 3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.