【问题标题】:Can I Skip linking assemblies in UWP Project?我可以跳过 UWP 项目中的链接程序集吗?
【发布时间】:2023-03-10 19:51:01
【问题描述】:

我使用 xamarin 表单。我对 Xamarin.UWP 上的“Newtonsoft.Json.JsonConvert.DeserializeObject”NullReferenceException 崩溃有问题,仅在发布模式下(在调试工作中,但在发布中没有)。我看到,我可以将 System.Core;System.Runtime.Serialization 添加到 Skip 链接程序集以修复它。在 Android 项目中我找到了这个菜单,但在 UWP 项目中没有。我能做什么?

【问题讨论】:

  • 我无法在 Xamarin.uwp 上重现您的问题。找了很多类似的问题,大部分都是Xamarin.android相关的问题。能否提供更多代码?
  • @NicoZhu-MSFT 谢谢,我已经解决了问题)
  • 能否请您与我分享解决方案?以便其他遇到此问题的用户可以参考。
  • @NicoZhu-MSFT 是的,解决方案很简单,当您使用“DeserializeObject>(content, new MyJsonConverter());”时不要使用 json 转换器- 它在发布模式下对 UWP 提供空引用异常。对于正确的工作,您应该使用 DeserializeObject>(content)。如果你想使用转换器,你可以在 MyClass 描述中使用属性 [JsonConstructor] 或 JsonConverter(typeof(MyClass))]。它工作正常)
  • 我可以编辑你的评论作为这个问题的答案吗?

标签: c# json uwp json.net xamarin.uwp


【解决方案1】:

我已经编辑了@Dmitrii Kurylev 的评论作为答案。如果其他用户遇到此问题,请参考以下回复。

解决方法很简单,当你使用以下代码时不要使用json转换器。它在发布模式下在UWP上给出空引用异常。

DeserializeObject<List<MyClass>>(content, new MyJsonConverter());

你应该使用正确的工作

DeserializeObject<List<MyClass>>(content)

如果您想使用converter,您可以在MyClass 描述中使用属性[JsonConstructor]JsonConverter(typeof(MyClass))]。它将正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2022-11-17
    • 2015-08-09
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    相关资源
    最近更新 更多