我正在尝试在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位。
答案 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
值。