当我在引用 AWSSDK.Core.3.3.19.1\lib\net45\AWSSDK.Core.dll 的 Windows 控制台应用程序中运行以下代码时,我得到了很好的输出:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public DateTime Birthday { get; set; }
}
public static void PersonToJson()
{
Person bill = new Person();
bill.Name = "William Shakespeare";
bill.Age = 51;
bill.Birthday = new DateTime(1564, 4, 26);
string json_bill = JsonMapper.ToJson(bill);
Console.WriteLine(json_bill);
}
输出(添加格式)是:
{
"Name":"William Shakespeare",
"Age":51,
"Birthday":"04/26/1564 00:00:00"
}
但是当我运行引用 AWSSDK.Core.3.3.19.1\lib\MonoAndroid10\AWSSDK.Core.dll 的相同代码时,我得到不同的结果:
编辑原始帖子在这里有不同的代码,但我能够用相同的代码重现问题。
替代版本如下所示:
{
"Name":"William Shakespeare",
"Age":51,
"Birthday":"04/26/1564 00:00:00",
"<Name>k__BackingField":"William Shakespeare",
"<Age>k__BackingField":51,
"<Birthday>k__BackingField":"04/26/1564 00:00:00"
}
这是一个错误吗?我可以解决它并清理它吗?我假设我需要使用 Android 版本才能在 Android 设备上运行,但有趣的是,我可以从 Windows 控制台应用程序中引用 MonoAndroid10 版本。.NET跨平台时,为什么不同平台会有不同的文件?