.net 无法加载类型';ServiceStack.Redis.RedisSentinel';来自组件';ServiceStack.Redis,版本=3.9.48.0,区域性=中立,PublicKeyToken=null
目前,在我的应用程序中,我正在尝试实现我使用RedisSentinel的应用程序缓存 我们有一个通用程序集,它为Redis实现了所有代码和配置,该程序集的ServiceStack版本为4.5.4 我在我的项目中引用了相同的程序集(DLL),但是我们有ServiceStack 3.9.48,目前没有升级它的计划 尝试访问RedisSentinel实例时,我遇到以下错误: 无法从程序集“ServiceStack.Redis,版本=3.9.48.0,区域性=中性,PublicKeyToken=null”加载类型“ServiceStack.Redis.RedisSentinel” 谁能指导如何解决这个问题 最终目标是在我使用ServiceStack 3.9.48的应用程序中使用RedisSentinel,我更愿意访问上面提到的自定义程序集,我们已经在其他项目中引用了该程序集 在此方面的任何帮助都将不胜感激.net 无法加载类型';ServiceStack.Redis.RedisSentinel';来自组件';ServiceStack.Redis,版本=3.9.48.0,区域性=中立,PublicKeyToken=null,.net,redis,servicestack,redis-sentinel,servicestack-bsd,.net,Redis,servicestack,Redis Sentinel,Servicestack Bsd,目前,在我的应用程序中,我正在尝试实现我使用RedisSentinel的应用程序缓存 我们有一个通用程序集,它为Redis实现了所有代码和配置,该程序集的ServiceStack版本为4.5.4 我在我的项目中引用了相同的程序集(DLL),但是我们有ServiceStack 3.9.48,目前没有升级它的计划 尝试访问RedisSentinel实例时,我遇到以下错误: 无法从程序集“ServiceStack.Redis,版本=3.9.48.0,区域性=中性,PublicKeyToken=null
感谢您,RedisSentinel是v4的一项功能。每当您看到“找不到类型”错误时,这意味着您正在使用的版本中不存在该类型 ServiceStack v3已有几年历史,您可以通过查看 有人请指导如何解决此问题吗 选项:
- 更新您发布到4.5.4的版本(并执行升级过程中所需的任何工作)
- 不要使用3.9.48中不存在的任何API功能
- 强制执行此操作的一种方法是降级第一个程序集以使用该版本
- 为两个任务使用两个完全隔离的过程(从技术上讲,你可以用应用程序域来完成,但这太混乱了):一个发布并引用3.9.48,一个发布并引用4.5.4
- 如果您发布了3.9.48,那么期望4.5.4的代码可能会在任何时候失败,特别是如果它使用了3.9.48中不存在但4.5.4中存在的API
- 如果您发布了4.5.4,那么期望3.9.48的代码可能会在任何时候失败,特别是如果它使用的API已被删除或有任何异常更改(根据semver规则,异常更改允许在3.*和4.*之间)