GetEvalStr方法未实现 ServiceStack.Redis RedisClient

3

我正在尝试使用ServiceStack.Redis库连接Redis,但出现了无法创建RedisClient类实例的问题,每当我尝试创建时...

RedisClient redisClient = new RedisClient();

我得到...

Method 'GetEvalStr' in type 'ServiceStack.Redis.RedisClient' from assembly 'ServiceStack.Redis, Version=3.9.37.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

最奇怪的部分是它阻止我调试包含该行代码的方法。即当我尝试调用包含它的方法时...
Cache.Get(key)

我无法逐步执行它。

有任何想法吗?

顺便说一下,我正在使用NuGet上可用的最新版本(版本3.9.37)。

1个回答

3
你的dll文件有问题,其中使用了旧版本的ServiceStack.Redis.dll,与ServiceStack.Interfaces.dll v3.9.37版本中的实现不匹配。
首先,请确保你已经更新了所有ServiceStack的组件。如果这样还是不行,请清除掉所有现有的ServiceStack NuGet包(即删除/packages文件夹和packages.config文件),然后再从NuGet重新安装它们。

1
这个回答是正确的,但并不总是明智地更新到最新的 ServiceStack 组件。我曾经吃过苦头,当我更新到 ServiceStack 3.9.69 后我的构建失败了。经过疑难解答之后,我才意识到 ServiceStack.ContainerAdapter.Ninject 不支持大于 3.9.59ServiceStack.Common。最终,我不得不回滚所有的更新。 - Rosdi Kasim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接