开发者

Unable to cast object of type 'NHibernate.Caches.SysCache.SysCacheProvider' to type 'NHibernate.Cache.ICacheProvider'

I'm using NHibernate 2.1.2 via Castl ActiveRecord. I wanted to set up second level cache using SysCache. But I got error:

Unable to cast object of type 'NHibernate.Caches.SysCache.SysCacheProvider' to type 'NHibernate.Cach开发者_如何学JAVAe.ICacheProvider'.

How can I correct this?


I'm guessing that you have some assemblies locally in your project and others in the GAC which have a version mismatch as Mauricio is saying. Make sure that NHibernate.Caches.SysCache.dll is in your bin folder (for your website), is the correct version and check that you don't have it in the GAC.


I found the reason. It was a nasty problem from ours. My team have merged all Castle ActiveRecord related assemblies together with ilmerge.exe and suppose named it Company.NHibernate.dll. I have not merged NHibernate.Caches.SysCache.dll with Company.NHibernate.dll. I have just put NHibernate.Caches.SysCache.dll alongside of Company.NHibernate.dll and mentioned name of NHibernate.Caches.SysCache in provider_class.

When I merged NHibernate.Caches.SysCache.dll with Company.NHibernate.dll and mentioned name of Company.NHibernate.dll in provider_class instead, everything went OK.

Thanks all users that tried to help me.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜