c# - Xamarin 应用程序 Release模式下的 NullReferenceException

标签 c# android xamarin

在对我的 REST API 的简单 POST 请求中,我将对象序列化为 JSON,如下所示:

var userDto = new { user = new { login = Username, password = Password } };
var jsonPayload = JsonConvert.SerializeObject(userDto, Formatting.Indented);

在 Debug模式下一切正常,但在 Release模式下 jsonPayload 变量为 null,在我的 try/catch 中我得到了 NullReferenceException。为什么这个变量的值在 Debug/Release 中不同,如何解决?

这是 Android 应用程序,我已启用互联网权限。

最佳答案

您的问题很可能是由于 Xamarin Linker 引起的从您的代码中剥离“未使用的程序集”。发布版本和调试版本的默认链接设置不同,这可能就是您看到这种差异的原因。

尝试将“链接”选项(您可以在 Android 选项下的 android 项目的项目设置下找到它)设置为 SDK Assemblies OnlyNone 并查看是否这样可行。

关于c# - Xamarin 应用程序 Release模式下的 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27256388/

相关文章:

android - SQLiteException - 没有这样的表

android - 多种设备密度和 Xamarin Android

c# - 如何在 Xamarin Android 中设置 SQLite(SQLite.NET 组件)数据库版本

c# - 如何调试 Xamarin.Forms XAML

c# - 使用 System.IO.Compression.ZipArchive 时避免 MemoryStream.ToArray()

c# - 为什么处理 Value 比处理 Struct 的 Reference 更快?

java - 所选值保留保存在带有单选按钮 Android 的 Dialogfragment 中

java - 在 Android 应用程序中从 Google 云存储读取文件

C# 将表达式作为参数传递并使用 PredicateBuilder

c# - 是否可以将一个巨大的 WebForms 网站移动到 MVC?