gpt4 book ai didi

c# - Xamarin.Android 上的 JsonSerializationException 'Unable to find a constructor'

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:51:47 54 4
gpt4 key购买 nike

我的代码有这个非常奇怪的问题,这是一个相当新的问题,考虑到半年前我还没有遇到过它。长话短说,我在 Xamarin 中制作了一个应用程序,并于大约半年前在所有 3 家商店(App Store、Google Play 和 Microsoft Store)上发布了它。

昨天一位用户报告了 Android 应用程序的问题,在我修复并重新编译之后,我现在遇到了 Json.NET 的新错误

异常(exception)情况是

Newtonsoft.Json.JsonSerializationException: Unable to find a constructor to use for type Rowlog.Common.Dtos.CompressedTripData. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute. Path 'tripCoordinates', line 1, position 19.

在你问之前,是的 Rowlog.Common.Dtos.CompressedTripData 确实有一个无参数的构造函数(好吧,它根本没有,我们都知道这是一回事)。

就像我说的,这是我从 Android 设备上的服务器加载 CompressedTripData 对象的时候。在 iOS 和 Windows Phone 上加载完全相同的对象可以顺利进行。我猜这一定是 Json.NET 或 Xamarin.Android 最近发生的变化导致了这一点(其他应用程序仍在使用大约半年前的 Json.NET 库。不确定是否有过此后的任何更新)

有没有其他人遇到过类似的问题,如果有,你们是如何解决的?

最佳答案

在项目属性的“Android 选项”选项卡中,有一个“链接器”选项卡。“链接”下拉列表中的所选选项是“仅 Sdk 程序集”还是“Sdk 和用户程序集”?

如果是后者,链接时会跳过无参构造函数,因为没有检测到使用。所以将其更改为“仅限 Sdk 程序集”。

关于c# - Xamarin.Android 上的 JsonSerializationException 'Unable to find a constructor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27938529/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com