当前版本的 SysCache 似乎不适用于 NHibernate 3.3。我替换了我的 web/bin 目录中的 NHibernate dll,并保持 SysCache dll(适用于 3.2)不变。现在,当 IIS 尝试进行预绑定时,它会加载 SysCache dll 并尝试将其绑定到 NHibernate 3.2.0.4000 并失败。
[FileLoadException:无法加载文件或程序集“NHibernate,版本=3.2.0.4000,文化=中性,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)] System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔 throwOnError,布尔 ignoreCase,布尔反射,StackCrawlMarkHandle stackMark,布尔 loadTypeFromPartialName,ObjectHandleOnStack 类型)+0
System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔 throwOnError,布尔ignoreCase,布尔反射,StackCrawlMark 和 stackMark,布尔 loadTypeFromPartialName) +95
System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +54 System.Type.GetType(String typeName) +50 NHibernate.Util.ReflectHelper.TypeFromAssembly(AssemblyQualifiedTypeName name, Boolean throwOnError) +338
NHibernate.Cfg.SettingsFactory.CreateCacheProvider(IDictionary`2 属性)+175[HibernateException: 无法实例化 CacheProvider: NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache]
NHibernate.Cfg.SettingsFactory.CreateCacheProvider(IDictionary 2 属性) +3449 NHibernate.Cfg.Configuration.BuildSettings() +29 NHibernate.Cfg .Configuration.BuildSessionFactory() +442 properties) +256
NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary
如果我注释掉 web.config 中的配置,一切都很好:
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache" >true</property>
<property name="cache.provider_class">NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache</property>
NHibernate Contrib上的 NHibernate 缓存下载站点没有最新版本的下载。