Невозможно загрузить DLL «sqlite.interop.dll» после создания установочного файла - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над приложением Windows, использующим Visual Studio 2015 (Professional) и Sqlite DataBase, Windows 8.1 (x64).я устанавливаю Sqlite из Nuget, он автоматически устанавливает эти ссылки ... system.componentmodel.dataannotations, System.Data.SQLite, System.Data.SQLite.EF6, System.Data.SQLite.Linq.

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

", не удается загрузить dll 'sqlite.interop.dll': указанный модуль не может быть найден. (Исключение из hresult: 0x8007007e)".

enter image description here

мой код ...

string connectionString = @"Data Source = SampelTest.db; Version = 3; new = false; compress = true; ";    
private void buttonLogin_Click(object sender, EventArgs e)
            {
                using (SQLiteConnection con = new SQLiteConnection(connectionString))
                {
                    try
                    {
                        using (SQLiteCommand sqlcmd = new SQLiteCommand("select count(*) from [SampelTest]", con))
                        {
                            con.Open();
                            Int32 count = Convert.ToInt32(sqlcmd.ExecuteScalar());
                            con.Close();
                            if (count > 0)
                            {
                                MessageBox.Show("User have in DataBase");
                            }
                            else 
                            {
                                MessageBox.Show("Empty DataBase");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {

                    }
                }
            }

Файл моей базы данных в отладкеПапка «SampelTest.db» я уже пробовал эти шаги, которые от Google, чтобы решить мою проблему.

  1. Файл Coppy Sqlite.Interop.dll из x64 в папку отладки.![enter image description here

  2. создать папку x86 и x64 из решения Explorar и добавить Sqlite.Interop.dll из x86 и x64 соответственно и установить свойство, параметр сборки => содержимоеКопировать в выходной каталог => Копировать всегда.

enter image description here

Unchake the Prefer 32-bit.

enter image description here

После Попытка эти шаги не могут решить эту проблему.Пожалуйста, помогите мне решить эту проблему.Спасибо за поиск.

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