Reputation: 11483
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.Cache.ICacheProvider'.
How can I correct this?
Upvotes: 0
Views: 970
Reputation: 11483
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.
Upvotes: 0
Reputation: 24614
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.
Upvotes: 1