Я работаю над проектом, использующим sqlite, используя dll Mono.Data.Sqlite, чтобы моя программа была кросс-платформой для Windows и моно. Программа успешно строится без каких-либо проблем, но затем, когда я запускаю программу, и она пытается установить соединение с базой данных.Mono Sqlite3 - модуль sqlite3 не найден
Однако я получаю сообщение об ошибке
Не удается загрузить DLL «sqlite3»: Указанный модуль не может быть найден. (Исключение из HRESULT: 0x8007007e)
Ниже приведен код, как я подключаю к базе данных SQLite
public SqliteConnection conn = null;
private static string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
private static string exeName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
public static string DATABASE_PATH = path + string.Format("\\BoardiesITSolutions\\{0}\\{0}.db", exeName);
public ConnectSQLiteDatabase(string dbPassword)
{
try
{
Console.WriteLine("DB Password: {0}", Encryption.decrypt(dbPassword));
conn = new SqliteConnection("Data Source="+DATABASE_PATH+";Password="+Encryption.decrypt(dbPassword));
conn.Open();
}
catch (SqliteException ex)
{
Console.WriteLine("Open Error: " + ex.Message);
}
}
Спасибо за любую помощь вы можете предоставить.
Я думаю, что вы, вероятно, придется использовать Interop Windows (Win32 скомпилирован SQLite) библиотеки при запуске на Windows. Код .NET может быть кросс-платформой, но двоичный файл SQLite, вероятно, нет. Формат файла тот же, да, но двоичный исполняемый файл, нет. –