ServiceStack NuGet更新4.0.22到4.0.31导致部署错误

我希望不要在这里含糊不清,但我刚刚为ServiceStack做了一个NuGet更新,从版本4.0.22更新到4.0.31,项目编译得很好但是一旦部署到iis我就收到这个错误了我点击了网站。

程序集’ServiceStack,Version = 4.0.31.0,Culture = neutral,PublicKeyToken = null’类型’ServiceStack.Host.AspNet.AspNetRequest’中的方法’get_Cookies’没有实现。

想知道是否有其他人有此错误?

ServiceStack将ServiceStack.Interfaces.dll转换为v4.0.30中的纯PCL dll的副作用是,引用System.Net类接口的项目现在需要显式引用System.Net 。

使用.NET 4.0安装Patch for PCL Support

来自与Google OAuth PCL库类似的.NET 4.0问题 :

  1. 确保修补了.NET框架。 Microsoft向.NET 4.0发布了补丁程序,以允许可移植类库正确地找到适当的运行时(info KB2468871 )。 如果您看到上述exception(或类似内容),则表示您缺少最新的.NET框架补丁。

  2. 安装.NET 4.0完整档案

我有同样的问题,我相信我已经追溯到没有在某些客户端计算机上安装KB2468871 。 这会导致奇怪的错误,例如您所看到的错误。 我的特别之处是:

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

我尝试添加System.Net引用,但也没有清除它。

现在,我坚持使用4.0.24(PCL之前的版本),直到我能提出更好的解决方案,因为我无法控制客户端环境。 请注意,如果您使用的是ClickOnce,则可以将此特定更新添加为引导程序安装程序的先决条件,但它不会对已安装的计算机产生影响,因此此处存在问题。