2011-02-09 94 views
0

我使用的是通過Castl ActiveRecord的NHibernate 2.1.2。我想使用SysCache設置二級緩存。但是我得到錯誤:無法投射'NHibernate.Caches.SysCache.SysCacheProvider'類型的對象來鍵入'NHibernate.Cache.ICacheProvider'

無法投射'NHibernate.Caches.SysCache.SysCacheProvider'類型的對象來鍵入'NHibernate.Cache.ICacheProvider'。

我該如何解決這個問題?

+0

這應該不成問題。我們正在使用該提供商,沒有任何問題。你是如何配置它的?你在使用ActiveRecordFacility嗎? – jishi 2011-02-09 13:31:28

回答

0

我找到了原因。這是我們的一個討厭的問題。我的團隊已將所有與Castle ActiveRecord相關的程序集與ilmerge.exe合併在一起,並假設將其命名爲Company.NHibernate.dll。我還沒有合併NHibernate.Caches.SysCache.dllCompany.NHibernate.dll。我剛剛將NHibernate.Caches.SysCache.dllCompany.NHibernate.dll並列,並提到NHibernate.Caches.SysCache的名稱provider_class

當我合併NHibernate.Caches.SysCache.dllCompany.NHibernate.dll並提到名稱Company.NHibernate.dllprovider_class而不是,一切正常。

感謝所有試圖幫助我的用戶。

1

我猜你在項目中有一些程序集,在GAC中有一些與Mauricio說的版本不匹配的程序集。確保NHibernate.Caches.SysCache.dll位於你的bin文件夾(對於你的網站),是正確的版本,並檢查你沒有在GAC中。

相關問題