SQLite System.DllNotFoundException: e_sqlite3 с использованием sqlite-net-pclC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 SQLite System.DllNotFoundException: e_sqlite3 с использованием sqlite-net-pcl

Сообщение Anonymous »

Здравствуйте, я пытаюсь использовать SQLite в проекте Xamarin Forms. Но мне трудно заставить его работать. Я собираюсь предоставить информацию о конфигурации моего проекта: < /p>
  • Версия Xamarin -> 4.6.0.726
  • Стратегия совместного использования кода -> Стандарт .NET < /li>
    sqlite-net-pcl 1.6.292
Проблема: следующее исключение: выдается, когда я пытаюсь получить соединение ->
{system.typeinitializationException: инициализатор типа для 'sqlite.sqliteconnection' выдал исключение. ---> system.dllnotfoundException: e_sqlite3 at (управляемая оболочка) sqlitepcl.sqlite3provider_e_sqlite3+nativemethods.sqlite3_libversion_number() at sqlitepcl.sqlite3provider_e_sqlite3.sqlitepcl.isqlite3provider.sqlite3_libversion_number () [0x00000] в sqlitepcl.ra ш. setprovider (sqlitepcl.isqlite3provider imp) [0x00008] в :0 в sqlitepcl.batteries_v2.init () [0x00005] в :0 в sqlite.sqliteconnection..cctor () [0x00016] в :0 --- конец трассировка внутреннего стека исключений --- в sqlite.sqliteconnectionwithlock..ctor (sqlite.sqliteconnectionstring Connectionstring) [0x0000b] в :0 в sqlite.sqliteconnectionpool+entry.connect () [0x0001c] в :0 в sqlite .sqliteconnectionpool.getconnection (sqlite.sqliteconnectionstring Connectionstring) [0x00048] в :0 в sqlite.sqliteasyncconnection.getconnection () [0x00005] в :0 в sqlite.sqliteasyncconnection.get_tracer() [0x00000] в :0

Я провел интенсивное исследование и не нашел ничего подходящего для себя. Последний пост, который я посетил, был такой: Android — инициализатор типа для SQLite .SQLiteConnection' вызвал исключение. ---> System.DllNotFoundException: e_sqlite3 в принятом ответе просто говорится, что установка самородка в проекте Android решит проблему (то, что я уже сделал)

Я покажите немного кода и как выглядят мои самородки.
Пакеты Droid
Пакеты проектов с общим кодом
Интерфейс, используемый для получения пути

Код: Выделить всё

using SQLite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UISampleApp.Interfaces
{
public interface ISQLitePlatform
{
SQLiteConnection GetConnection();
SQLiteAsyncConnection GetConnectionAsync();
String GetPath();
}
}
Реализация Droid

Код: Выделить всё

using System;
using System.IO;
using Android.OS;
using SQLite;
using SQLitePCL;
using UISampleApp.Interfaces;
using UISampleApp.Models;

[assembly: Xamarin.Forms.Dependency(typeof(UISampleApp.Droid.Implementations.SQLitePlatform))]
namespace UISampleApp.Droid.Implementations
{
public class SQLitePlatform : ISQLitePlatform
{
public string GetPath() {
var dbName =Constantes.DatabaseFileName;
var path = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),dbName);

return path;
}

public SQLiteConnection GetConnection()
{

return new SQLiteConnection(GetPath());
}

public SQLiteAsyncConnection GetConnectionAsync()
{
return new SQLiteAsyncConnection(GetPath());
}
}
}
Код, генерирующий исключение

Код: Выделить всё

            string path = DependencyService.Get().GetPath();
SQLite.SQLiteAsyncConnection x = DependencyService.Get().GetConnectionAsync();
try
{
await x.Table().ToListAsync();
}
catch (Exception e)
{
throw e;
}
Я надеюсь, что кто-нибудь сможет мне помочь, если потребуется дополнительная информация, просто скажите мне, и я ее предоставлю.
PS: Делаем то же самое в проекте с Стратегия совместного использования кода PCL работает, но мне нужно, чтобы она работала в проекте со стандартом .NET в качестве стратегии совместного использования кода. Спасибо

GitHub: https://github.com/ jesse0099/Hackathon2019-Movil.git

Подробнее здесь: https://stackoverflow.com/questions/617 ... te-net-pcl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме Android
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
    Anonymous » » в форуме Android
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Dllnotfoundexception (e_) sqlite3 Android/Godot4mono/c#
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»