目前,在我的应用程序中,我正在尝试实现我使用过RedisSentinel的应用程序缓存。
我们有一个公共程序集,它具有为Redis实现的所有代码和配置,该程序集的ServiceStack版本为4.5.4。
我指的是我的项目中相同的程序集(DLL),但是我们有ServiceStack 3.9.48,目前还没有升级它的计划。
在尝试访问RedisSentinel实例时,我得到以下错误:
无法从程序集“ServiceStack.Redis、Version=3.9.48.0、Culture=neutral、PublicKeyToken=null”加载类型“Culture=neutral”
请谁来指导如何解决这个问题?
最终目标是在我的应用程序中使用RedisSentinel,该应用程序使用ServiceStack 3.9.48,我更愿意访问上面提到的自定义程序集,我们已经在其他项目中引用了这些自定义程序集。
在这方面的任何帮助将是非常感谢的。
谢谢
发布于 2017-05-26 13:33:27
请大家指点如何解决这个问题?
选项:
基本上,您只能将dll的一个版本加载到应用程序域中.如果您同时引用了4.5.4和3.9.48,那么运行时发生的事情取决于版本加载,即包中的版本。
在一般情况下,我建议“使用更新的”,因为它可能包含您正在使用的3.9.48中存在的特性的bug修复。当然,更新的代码也可能意味着新的bug :)
发布于 2017-05-26 13:33:08
RedisSentinel是ServiceStack.Redis v4特性。每当您看到时,这意味着在您使用的版本中不存在Type。
ServiceStack v3已有几年的历史了,您可以通过查看v3源代码来找出它有哪些特性和类。
https://stackoverflow.com/questions/44202796
复制相似问题