Как исправить ошибку «Невозможно загрузить DLL« SQLite.Interop.dll »: указанный модуль не найден»? - PullRequest
1 голос
/ 21 апреля 2019

Я хочу подключить проект веб-форм asp.net к базе данных sqlite, поэтому я создал класс Dbase.cs для обработки команд sql.после подключения провайдера System.Data.SQLite к Nuget появляется следующее сообщение об ошибке - Невозможно загрузить DLL «SQLite.Interop.dll»: указанный модуль не найден.

Я прочитал, что мне нужно указатьправильная архитектура (x64 / x86), но я не могу найти файл SQLite.Interop.dll в любом месте.Нужно ли устанавливать что-то кроме двоичного пакета для моей платформы?

Dbase.cs:

using System;
using System.Data;
using System.Web;
using System.Data.SQLite;

public class Dbase
{
    public Dbase()
    {

    }

    public static SQLiteConnection MakeConnection(string dbFile = "DB.sqlite")
    {
        SQLiteConnection c = new SQLiteConnection();
        c.ConnectionString = "Data Source=" +
            HttpContext.Current.Server.MapPath("~/App_Data/" + dbFile) +
            ";Version=3;";
             c.Open();
        return c;
    }

    public static DataTable SelectFromTable(string strSQLite, string FileName = "DB.sqlite")
    {
        SQLiteConnection c = MakeConnection(FileName);
        SQLiteCommand comm = new SQLiteCommand();
        comm.CommandText = strSQLite;
        comm.Connection = c;
        DataTable dt = new DataTable();
        SQLiteDataAdapter da = new SQLiteDataAdapter(comm);
        da.Fill(dt);
        c.Close();
        return dt;
    }

    public static void ChangeTable(string strSQLite, string FileName = "DB.sqlite")
    {
        SQLiteConnection c = MakeConnection(FileName);
        SQLiteCommand comm = new SQLiteCommand();
        comm.CommandText = strSQLite;
        comm.Connection = c;
        comm.ExecuteNonQuery();
        c.Close();

    }
}

1 Ответ

0 голосов
/ 21 апреля 2019

DLL не должны рассматриваться как файлы для редактирования. Это динамически связанные библиотеки. То есть они являются результатом ваших других файлов, скомпилированных в один, и доступны только после компиляции.

Ваша проблема лежит в другом месте, а не в DLL. В другом файле есть проблема, и он всплывает на поверхность, как только этот файл скомпилирован в DLL.

Правильно ли указаны ссылки на ваши пакеты в файлах .csproj? Если это так, я бы посоветовал посмотреть этот комментарий в похожей теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...