无法找到用于Microsoft.AspNetCore.Sockets.Client.HttpConnection类型的构造函数

时间:2018-01-02 10:32:49

标签: android xamarin.forms signalr.client

我正在尝试在Microsoft.AspNetCore.SignalR.Client项目中使用Xamarin Forms。 我的android应用程序在Debug Version中运行良好。 但它在发布版本中不起作用

(Android Options => Linking = "Sdk and User Assemblies" )

例外:

  

收到无效的谈判回复。 ---> Newtonsoft.Json.JsonSerializationException:无法找到用于类型Microsoft.AspNetCore.Sockets.Client.HttpConnection + NegotiationResponse的构造函数。一个类应该有一个默认的构造函数,一个带参数的构造函数或一个用JsonConstructor属性标记的构造函数。路径'connectionId',第1行,第16位。

1 个答案:

答案 0 :(得分:0)

  

一个类应该有一个默认的构造函数,一个带参数的构造函数或一个用JsonConstructor属性标记的构造函数。

您可以参考以下链接,它们与您有完全相同的问题:

正如T.J.Purtell.1752所说:

  

您需要注释仅通过反射访问的类(也称为通过JSON.NET反序列化的类),并带有一个标志,告诉编译器永远不会剥离它们。

正如他们所建议的那样,尝试在项目中使用[Preserve(AllMembers = true)]

更新:

  

滑块值正在改变?

像这样修改你的MainPage.xaml

<Label HorizontalOptions="CenterAndExpand"
       BindingContext="{x:Reference slider}"
       Text="{Binding Value, StringFormat='{0:F0}'}"
       FontSize="96" />

<SliderMinimum="0" Maximum="100" Value="{Binding SlideValue, Mode=TwoWay}" x:Name="slider"/>

然后Label可以显示Silder值。