Ian
Ian

Reputation: 405

ServiceStack NuGet update 4.0.22 to 4.0.31 caused errors on deployment

I'm hoping not to be to vague here, but I've just done a NuGet update for ServiceStack, updating from version 4.0.22 to 4.0.31, the project compiles fine but once deployed to iis I'm getting this error when I hit the site.

Method 'get_Cookies' in type 'ServiceStack.Host.AspNet.AspNetRequest' from assembly 'ServiceStack, Version=4.0.31.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Wondering if anyone else is having this error?

Upvotes: 1

Views: 825

Answers (2)

mythz
mythz

Reputation: 143369

A side-effect of ServiceStack converting ServiceStack.Interfaces.dll into a pure PCL dll in v4.0.30 is that projects that reference interfaces with System.Net classes now require an explicit reference to System.Net.

Install Patch for PCL Support with .NET 4.0

From similar .NET 4.0 Issue with Google OAuth PCL libraries:

  1. Make sure your .NET framework is patched. Microsoft released patches to .NET 4.0 to allow Portable Class Libraries to properly find the appropriate runtime (info KB2468871). If you are seeing the above exception (or something like it), it means you're missing the latest .NET framework patches.

  2. Install .NET 4.0 full profile

Upvotes: 5

Dan McGee
Dan McGee

Reputation: 171

I had the same problem, and I believe I've traced it back to not having KB2468871 installed on some client machines. This causes weird errors such as the one you are seeing. My particular one was this:

Method 'GetAsync' in type 'ServiceStack.JsonServiceClient' from assembly 'ServiceStack.Client, Version=4.0.30.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

I tried adding the System.Net reference and that didn't clear it up either.

For now, I'm sticking with 4.0.24 (the pre-PCL version) until I can come up with a better solution, since I'm not in control of the client environment. Note that if you are using ClickOnce, you can add this particular update as a prerequisite to the bootstrap installer, but it won't have an effect on already-installed machines, thus the problem here.

Upvotes: 2

Related Questions