2013-02-20 38 views
3

我想出来的ServiceStack.Redis库,用于连接到Redis的出于某种原因,我不能创建RedisClient类的一个实例,每当我做...GetEvalStr方法没有实现ServiceStack.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)即可使用。

回答

3

你有一个肮脏的DLL,在那里你使用的旧版本的ServiceStack.Redis.dll这与0123.的版本3.9.37版本中的实现不匹配。

首先确保您已更新所有ServiceStack的组件。如果这样做并不能清除所有现有的NuSet包的ServiceStack(即删除/packages文件夹和packages.config文件),并再次从NuGet重新安装它们。

+1

这个答案是正确的,但更新到最新的'ServiceStack'组件并不总是明智的。我学会了艰难的方法,一旦我更新到“ServiceStack 3.9.69”,我的构建失败了。在排除故障后,我意识到'ServiceStack.ContainerAdapter.Ninject'不支持'ServiceStack.Common'大于'3.9.59'。最终我必须回滚所有更新。 – 2013-10-30 17:57:53