我一直在试图找到一个适用于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