FluentNHibernate缺省带一个Castle的DLL,如果项目中同时用 FluentNHibernate 跟Castle ,可能会出现版本不一致的情况,具体错误:
未能加载文件或程序集“Castle.Core, Version=2.5.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
如果出现这种情况,可以把Castle的版本改成跟FluentNHibernate一致,但是这样就不能使用最新的Castle,所以我的做法是把FluentNHibernate 的Source下载下来重新编译一遍,完美解决问题。
需要注意的是,在编译的时候清除所有bin/Debug下的东西,以免出现DLL版本不一致的情况。