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问题 :
-
确保修补了.NET框架。 Microsoft向.NET 4.0发布了补丁程序,以允许可移植类库正确地找到适当的运行时(info KB2468871 )。 如果您看到上述exception(或类似内容),则表示您缺少最新的.NET框架补丁。
-
安装.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,则可以将此特定更新添加为引导程序安装程序的先决条件,但它不会对已安装的计算机产生影响,因此此处存在问题。