我一直在試圖找到一個適用於Visual Studio 2008並使用NHibernate 3的夏普體系結構的版本,但一直沒有成功。我想使用NHibernate版本3中的QueryOver API。我可以找到的最新版本是sharp-architecture-1.6.0.0-templify-package.zip,它與Visual Studio 2008,MVC 2和NHibernate 2兼容。所有夏普建築較新的版本只與Visual Studio 2010兼容我試圖使夏普建築的自定義構建:有沒有辦法讓Nhibernate 3與使用Visual Studio 2008的Sharp架構一起工作?
我在「SharpArchitecture 1.6完整源」項目改變了引用...:
- NHibernate.Validator到版本1.3.0.4000
- NHibernate到版本3.1.0.4000
- 個NHibernate.ByteCode.Castle到3.1.0.4000版本
- FluentNHibernate到1.2.0.694版本
- Castle.Core到Version =通過用新的替換舊的DLL 2.5.2.0
...在項目的bin目錄下。然後我運行ClickToBuild.bat(位於下載的Sharp Architecture zip文件基礎目錄中)來構建解決方案。構建成功並通過了所有測試。然後,我用我剛剛構建的新型夏普架構替換了我自己項目中的所有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>
但仍然沒有奏效。
我在正確的軌道上嗎?我還能做些什麼才能使其發揮作用?
我已經更新了我的問題。 – Stu 2011-04-05 07:26:58
我使用了nugets,它更新了我所有的dll – Xenon 2012-10-26 10:57:24