我一直在使用 Monotouch 并为整个项目使用调试版本。我最近将它更改为发布版本来运行它,它在启动时崩溃了。打开调试符号我发现问题是 SQLite 抛出了一个(伪造的?)异常:“无法更新 RealConfigData 它没有 PK!”
public class RealConfigData
{
[AutoIncrement, PrimaryKey]
public int Id { get; set; }
// .. Other fields
}
public class GameData
{
[AutoIncrement, PrimaryKey]
public int Id { get; set; }
public int Seed {get;set;}
// .. Other fields
}
当我尝试 .Insert() 数据库中 RealConfigData 没有 PK 的第一个时,我遇到了错误!然而,确实如此。
对于第二个,我得到“找不到'种子'的获取方法”
WTF,似乎在编译 RELEASE 时,元数据不存在,或者更准确地说,不可靠......似乎它找到了 2nd class 的 PK 就好了,但不能为第一个..然后它找不到该领域的吸气剂……这太疯狂了。
并且此代码在运行调试时工作得很好。
到底有什么可能是错的?
我已经准备好发布我的 iPhone 应用程序,但 SQLite 在最后一刻对我不利。帮助!
==== 这是一个错误的陈述:
更新:我的另一个没有子类的类可以正常工作!所以它与父/子关系有关。
这不是真的,那个类被吃掉了例外。