Система.Исключение: в таблице нет (общедоступных) столбцов

#visual-studio #sqlite #xamarin.android

#visual-studio #sqlite #xamarin.android

Вопрос:

Я разрабатываю для Android в Visual studio 2015 с использованием Xamarin.Android и я получаю следующую ошибку в проекте PCL:

 Unhandled Exception:
10-04 01:47:04.594 E/mono    ( 3322): System.Exception: Table has no (public) columns
10-04 01:47:04.594 E/mono    ( 3322):   at SQLite.Net.SQLiteConnection.CreateTable (System.Type ty, CreateFlags createFlags) [0x0002e] in <filename unknown>:0 
10-04 01:47:04.594 E/mono    ( 3322):   at SQLite.Net.Async.SQLiteAsyncConnection <>c__DisplayClass11_0.<CreateTablesAsync>b__0 () [0x0002b] in <filename unknown>:0 
  

Мои свойства упаковки Use Shared Runtime отключены.

Для моих свойств компоновщика установлено значение link Sdk and User Assemblies .

Я поддерживаю обе arm x86 архитектуры and и my Java Mas Heap Size is 1G .

Я уже искал об этой ошибке, но не смог найти ничего подходящего.

Ошибка возникает при SQLite попытке создать таблицу для этого объекта:

 [Table("User")]
public class User : IBusinessEntity
{
    [PrimaryKey, AutoIncrement]
    public long Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public string Password { get; set; }
    public DateTime CreationDate { get; set; }
}
  

Я использую SQLite.Net.Async-PCL библиотеку.

Ответ №1:

Наконец-то я понял это.

Пакет nuget Xamarin.Android.Support.v7.AppCompat отсутствовал, и я получал эту случайную ошибку. Теперь это исправлено.

Я также меняю свои свойства компоновщика на None . Не уверен, что это необходимо.