ServiceStack has recently announced that will go commercial from version 4 and on. Although it is a very useful library that worth paying for you might not want to go straight ahead to acquire a license.

One option is to downgrade to version 3.9.71 which is free to use and decide later if you want to buy a license or find a better alternative.

In my case I started using ServiceStack.Redis 4.o.96 to connect to Azure Redis Cache but when I started load testing I came accross the following error message:

The free-quota limit on '20 ServiceStack.Text Types' has been reached. Please see https://servicestack.net to upgrade to a commercial license or visit https://github.com/ServiceStackV3/ServiceStackV3 to revert back to the free ServiceStack v3.

So, I decided to downgrade to 3.9.71, by installing it from NuGet:

Install-Package ServiceStack.Redis -Version 3.9.71

But then you might face the following error:

Method 'get_Db' in type 'ServiceStack.Redis.RedisNativeClient' from assembly 'ServiceStack.Redis, Version=3.9.71.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

This is happening because of a change in the default behaviour in Nuget as of 2.8 version, where NuGet picks the lowest patch version of a  package dependency.

So, when you request to install ServiceStack.Redis version 3.9.71, which is free to use, ServiceStack.Common comes not on version 3.9.71  but on 3.9.11.

To overcome this issue you can explicitly install ServiceStack.Common version 3.9.71 using:

Install-Package ServiceStack.Common -Version 3.9.71

Categorized in:

Tagged in: