在对我的 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 Only 或 None 并查看是否这样可行。
关于c# - Xamarin 应用程序 Release模式下的 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27256388/