我NHibernate 2.1.2
通过 Castl ActiveRecord 使用。我想使用SysCache
. 但我得到了错误:
无法将“NHibernate.Caches.SysCache.SysCacheProvider”类型的对象转换为“NHibernate.Cache.ICacheProvider”类型。
我该如何纠正?
我NHibernate 2.1.2
通过 Castl ActiveRecord 使用。我想使用SysCache
. 但我得到了错误:
无法将“NHibernate.Caches.SysCache.SysCacheProvider”类型的对象转换为“NHibernate.Cache.ICacheProvider”类型。
我该如何纠正?
我猜您的项目中本地有一些程序集,而 GAC 中的其他程序集与 Mauricio 所说的版本不匹配。确保 NHibernate.Caches.SysCache.dll 在您的 bin 文件夹中(对于您的网站),是正确的版本,并检查您在 GAC 中没有它。
我找到了原因。这是我们的一个讨厌的问题。我的团队已将所有与 Castle ActiveRecord 相关的程序集与ilmerge.exe
并假设命名为它Company.NHibernate.dll
。我还没有NHibernate.Caches.SysCache.dll
合并Company.NHibernate.dll
。我刚刚放在NHibernate.Caches.SysCache.dll
旁边Company.NHibernate.dll
并提到了NHibernate.Caches.SysCache
in的名称provider_class
。
当我与 in 合并NHibernate.Caches.SysCache.dll
并Company.NHibernate.dll
提及Company.NHibernate.dll
in 的名称时provider_class
,一切顺利。
感谢所有试图帮助我的用户。