我一直在使用Monotouch並使用整個項目的Debug版本。我最近改變它來釋放構建來運行它,並在啓動時崩潰。打開調試符號我發現問題是SQLite拋出一個(虛假?)異常: 「無法更新它沒有PK的RealConfigData!」帶有RELEASE版本的MonoTouch的SQLite - 無法獲得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數據庫中的第一個!然而,它確實如此。
並與第二一個,我得到「GET方法不能發現‘種子’」
WTF,好像編譯發佈的時候,元數據是不存在的,或者更準確地說,不是嗎」可靠...看起來它發現第二節的PK很好,但是對於第一節沒能找到......然後它找不到這個領域的吸氣球......這太瘋狂了。
這段代碼在運行調試時工作得很好。
這裏有什麼可能是錯誤的?
我準備發佈我的iPhone應用程序,除了SQLite在最後一分鐘關閉我。幫幫我!
====這是口誤:
更新: 我認爲沒有一個子類的其他工作正常!所以這與父母/子女關係有關。
這是不正確的,這個例外被吃掉了。
好奇,你編輯它刪除我的姓名/簽名最後還有三個點到一個......我的言語表示感謝......這是否被認爲是錯誤的? – 2013-03-27 07:33:40
是的,它通常在SO上(但它不是我)你是否嘗試過將'Id'移動到'RealConfigData'而不是基類? – jonathanpeppers 2013-03-27 12:05:53
是的,事實上,我完全刪除了類的層次結構..我注意到有關iOS註冊類使用泛型的警告,導致隨機崩潰...沒有運氣 – 2013-03-27 21:51:20