Mono.Data.Sqlite.SqliteConnection.SetConfig выбрасывает библиотеку, использующую неправильное исключение

Используя Xamarin.Android, я попытался играть с базой данных sqlite, используя пакет Mono.Data.Sqlite (используя Nexus 7).

Все было в порядке, пока я не попытался использовать несколько потоков, тогда я получил либо поврежденную базу данных, либо различные исключения, блокирующие базу данных (что означало, что мне пришлось остановить и перезапустить приложение, чтобы иметь возможность снова получить доступ к db).

Как рекомендовано здесь, я попытался выполнить следующий код как можно раньше в своем приложении:

Mono.Data.Sqlite.SqliteConnection.SetConfig (Mono.Data.Sqlite.SQLiteConfig.Serialized); 

Но я получаю Mono.Data.Sqlite.SqliteException в этой строке:

 Library used incorrectly 

Я пробовал 3 возможных значения для перечисления (SingleThreaded, Serialized, MultiThreaded) с тем же результатом.

Этот метод работает вообще?


Редактирование: я исправил исходную проблему (эти неприятные бесконечные петли, я никогда не избавлюсь от этого …), поэтому больше не нужно играть с файловой конфигурацией для меня.

Я оставлю этот вопрос открытым для других, поскольку проблема все еще здесь, и был экспериментирован другими ( см. Комментарии к этому ответу )

Для чего это стоит, я обнаружил, что SQLite чрезвычайно тронут, чтобы попытаться получить доступ, когда запись выполняется в отношении базы данных. Это, как говорится, я не пишу против меня очень сильно. Однако я хотел бы упомянуть, что вам может быть повезло с доступным для чтения доступом и несколькими потоками. Если вы этого еще не делаете, я рекомендую обратиться к нему с явными путями для записи / чтения. Я использую это в своем коде для упрощения,

  protected SQLiteConnection ReadableDB { get{return new SQLiteConnection(ReadableDatabase.Path);} } protected SQLiteConnection WriteableDB { get{return new SQLiteConnection(WritableDatabase.Path); }