目前在我的应用程序中,我正在尝试实现我使用过RedisSentinel的应用程序缓存。
我们有一个通用程序集,它为Redis实现了所有代码和配置,并且该程序集具有ServiceStack 4.5.4版。
我在我的项目中引用相同的程序集(DLL),但我们正在使用ServiceStack 3.9.48,目前还没有计划升级它。
在尝试访问RedisSentinel的实例时,我收到以下错误:
无法从程序集'ServiceStack.Redis,Version = 3.9.48.0,Culture = neutral,PublicKeyToken = null
加载类型'ServiceStack.Redis.RedisSentinel'
有人可以指导如何解决此问题吗?
最终目标是在我的应用程序中使用RedisSentinel,它正在使用ServiceStack 3.9.48,我更愿意访问我们已在其他项目中引用的上述自定义程序集。
对此的任何帮助将不胜感激。
由于
答案 0 :(得分:1)
有人请指导如何解决此问题?
选项:
基本上,您只能将一个版本的dll加载到app-domain中。如果您同时引用4.5.4和3.9.48,那么运行时会发生什么取决于加载的版本,即您在包中发布的版本。
在一般情况下,我会建议“使用较新的”,因为它可能包含您正在使用的3.9.48中存在的功能的错误修复。当然,较新的代码也可能只是意味着新的错误:)
答案 1 :(得分:0)
RedisSentinel
是ServiceStack.Redis v4功能。每当您看到Type not found错误时,表示您正在使用的版本中不存在Type。
ServiceStack v3已有几年历史了,您可以查看v3 Source Code
,了解它的功能和类别。