Xamarin 应用程序发布模式下的 NullReferenceException

Tom*_*zyk 3 c# android xamarin

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

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

在调试模式下一切正常,但在发布模式下jsonPayload变量为空,并且在我的 try/catch 中我得到NullReferenceException. 为什么这个变量的值在调试/发布中不同以及如何解决这个问题?

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

Jac*_*ack 5

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

尝试将“链接”选项(您可以在 Android 选项下的 Android 项目的项目设置下找到它)设置为“仅 SDK 程序集”或“无”,看看是否有效。