Choroid Ответов: 2

Сбой проекта установки Visual studio 2019


Я уже использовал проект установки раньше, и он работал над проектом, в котором не было System.Data.SQLite.Ядро установлено, так что теперь я пытаюсь создать EXE-и MSI-файлы, используя те же шаги.

Решение Explore выглядит следующим образом
NoteSetup
Обнаруженные Зависимости
MS Net Framework
System.Data.SQLite.dll
System.Net.Http.dll
Первичный вывод из ноутбука (активный)
Первичный вывод из ноутбука (активный)
Первичный вывод из ноутбука (активный)
Ан.Ико

Я подаю в суд на 64-битную машину W 7, и я предполагаю, что по какой-то причине VS 2019-это 32-битная программа ? Я пытаюсь сделать сборки как x64

Я опубликую файл журнала ошибок
Мое Управление пакетами-это ссылка на пакет
Разрешить NuGet загружать отсутствующие пакеты не проверено я пробовал строить с этим проверенным и не проверенным, а также пакетом.Конфиг в этом так пост
установка - Как сделать так, чтобы проект установки Visual Studio обнаруживал зависимости nuget в соответствии со сборкой? - переполнение стека[^]

Вот файл журнала ошибок
Дополнительные сведения о вызове см. В конце этого сообщения
отладка just-in-time (JIT) вместо этого диалогового окна.

************** Текст Исключения **************
System.IO.FileNotFoundException: не удалось загрузить файл или сборку "System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" или одну из его зависимостей. Система не может найти указанный файл.
Имя файла: 'System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139'
в Notebook.frmStart.makeDB()
в Notebook.frmStart.btnCreate_Click(отправитель объекта, EventArgs e)
в системе.Окна.Формы.Контроль.OnClick(EventArgs e)
в системе.Окна.Формы.Кнопка.OnClick(EventArgs e)
в системе.Окна.Формы.Кнопка.OnMouseUp(MouseEventArgs mevent)
в системе.Окна.Формы.Контроль.WmMouseUp(Message& m, кнопка MouseButtons, Int32 клика)
в системе.Окна.Формы.Контроль.WndProc(сообщение& m)
в системе.Окна.Формы.ButtonBase.WndProc(сообщение& m)
в системе.Окна.Формы.Кнопка.WndProc(сообщение& m)
в системе.Окна.Формы.Контроль.ControlNativeWindow.OnMessage(сообщение& m)
в системе.Окна.Формы.Контроль.ControlNativeWindow.WndProc(сообщение& m)
в системе.Окна.Формы.Родное окно.Обратного вызова(hwnd элемента указателя IntPtr, int32 и глутамат натрия, указателя IntPtr параметр wparam, указателя IntPtr lparam должен)

Предупреждение: Регистрация привязки сборок выключена.
Чтобы включить ведение журнала сбоев привязки сборки, установите значение реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) до 1.
Примечание: существует некоторое снижение производительности, связанное с регистрацией сбоев привязки сборки.
Чтобы отключить эту функцию, удалите значение реестра [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Загруженные Сборки **************
mscorlib
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.4069.0 построен: NET48REL1LAST_B
Кодовая база: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Блокнот
Версия Сборки: 1.0.0.0
Версия Win32: 1.0.0.0
Кодовая база: file:///C:/Users/Dwight/Desktop/Notebook.exe
----------------------------------------
Майкрософт.На языке VisualBasic
Версия Сборки: 10.0.0.0
Версия Win32: 14.8.3761.0 построен: NET48REL1
Кодовая база: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
Система
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.4001.0 построен: NET48REL1LAST_C
Кодовая база: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
Системы.Основной
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.4110.0 построен: NET48REL1LAST_B
Кодовая база: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
Система.Окна.Формы
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.4042.0 построен: NET48REL1LAST_C
Код: файл:///с:/Windows и Microsoft.Чистая/сборка/GAC_MSIL/системы.Окна.Формы/v4.0_4.0.0.0__b77a5c561934e089/система.Окна.Forms.dll
----------------------------------------
Система.Рисование
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 построен: NET48REL1
Код: файл:///с:/Windows и Microsoft.Чистая/сборка/GAC_MSIL/системы.Чертеж/v4.0_4.0.0.0__b03f5f7f11d50a3a/система.Drawing.dll
----------------------------------------
Система.Конфигурация
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 построен: NET48REL1
Код: файл:///с:/Windows и Microsoft.Чистая/сборка/GAC_MSIL/системы.Конфигурация/v4.0_4.0.0.0__b03f5f7f11d50a3a/система.Configuration.dll
----------------------------------------
System.Xml
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 построен: NET48REL1
Кодовая база: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Система.Время Выполнения.Удаленное взаимодействие
Версия Сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 построен: NET48REL1
Код: файл:///с:/Windows и Microsoft.Чистая/сборка/GAC_MSIL/системы.Во время выполнения.Дистанционное управление/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------

************** Отладка JIT **************
Для включения "точно в срок" (JIT) отладки, на .конфигурационный файл для этой
приложение или компьютер (machine.config) должны иметь
значение jitDebugging задается в разделе system.windows.forms.
Приложение также должно быть скомпилировано с отладкой
включен.

Например:

конфигурация
system.windows.forms jitDebugging="true"
конфигурация

Когда включена отладка JIT, любое необработанное исключение
будет отправлен в JIT-отладчик, зарегистрированный на компьютере
вместо того, чтобы быть обработанным этим диалоговым окном.

Что я уже пробовал:

Я старался больше следовать тем же шагам сборки, которые работали для проекта без SQLite
У меня есть этот оператор импорта во всех формах
Imports System.Data.SQLite

2 Ответов

Рейтинг:
1

Sandeep Mewara

Цитата:
System.IO.FileNotFoundException: не удалось загрузить файл или сборку "System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" или одну из его зависимостей. Система не может найти указанный файл.

У вас нет версии сборки, на которую ссылаются в вашем проекте.

Найдите версию сборки, которая присутствует в системе (при условии, что все установлено на месте). Заметить разницу. Теперь, когда вы нашли сборку, используйте ее в своем проекте в качестве ссылки вместо текущей версии v1.0.113.0

Импорт использует пространство имен, и проблема больше связана с поиском сборки в первую очередь.


Choroid

@SandeepMewara замешательстве версии сборки в системе как найти SQLite на системе я никогда не использовал его, кроме как в vs 2019 Я думаю, в глобальном поиске диска C Холли хрень SQLite является каждый, где я, возможно, Котлин проекта, который его использует у меня тоже есть ДБ-браузера, который его использует и Adobe ридер ? Нужен лучший поисковый запрос, такой как SQLite dll ?

Sandeep Mewara

Ну, если речь идет об установке Visual studio, то вы должны найти ее где-нибудь в программных файлах.

Альтернативный вариант, попробуйте сначала вот это:
1. Удалите текущую ссылку, если таковая имеется.
2. Используйте Buget: https://www.nuget.org/packages/System.Data.SQLite а затем обратитесь к версии 1.0.113 оттуда. Это должно решиться сразу же.

Choroid

Смотрите мои следующие два комментария

Choroid

@SandeepMewara so VS 2019 имеет SQLite.Interop.dll v 1.0.109.0 под C:\Program файлы (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PrivateAssemblies\x86 и x64 что мне нужно изменить ? А где мне нужно менять других Interop.dll есть для System.Data.SQLite.Основной имейте v1.0.113.0

Choroid

@SandeepMewara я пробовал альтернативы с помощью системы.Данных.Базы данных SQLite нет основного результата никакого же ошибка см. Мой комментарий выше

Sandeep Mewara

Либо ваш проект ссылается на эту версию, либо на какую-то третью сторону, которую вы используете. Я не знаю, почему nuget не работал для вас - похоже, у него есть версия, которую ищет ваш проект.

Choroid

Я вижу, что некоторые сторонние приложения от Adobe версии 11.0.0.379 приложение AOMEI резервного копирования sqlite3.dll 3.9.2.0 браузер ДБ sqlite2.dll нет версия большой проблемой является против x64 и x86 для базы данных SQLite.Interop.dll ver 1.0.109.0 я вижу это как ошибку, если взаимодействие является оскорбительной dll

Рейтинг:
0

Choroid

После 3 недель взад и вперед с сообществом разработчиков Microsoft и очень интенсивного обмена файлами и предлагаемыми решениями от MDC это не сработало
Я стряхнул пыль со старых мозговых клеток с моих дней с VB 6 и тем, что мы называли dll-адом

Я открыл текущую версию Inno Setup и написал файл Setup.iss.
Теперь у меня есть рабочий EXE файл для моего проекта Visual Studio 2019 WinForms разработанного на 64 битной машине Windows 7
Является ли это решением да и нет
Да он работает и выполняет поставленную задачу
Нет ИМХО MS всегда имела проблемы с установщиками
Наверное именно поэтому существует так много сторонних установщиков бесплатных и платных

Соответствующий Код Приведен Ниже

[Files]
Source: "C:\Users\Dwight\source\repos\TestDiary\TestDiary\bin\Debug\TestDiary.exe"; DestDir: "{app}";Flags: ignoreversion
Source: "C:\Users\Dwight\source\repos\TestDiary\TestDiary\bin\Debug\x64\*"; DestDir: "{app}";Flags: ignoreversion
Source: "C:\Users\Dwight\source\repos\TestDiary\TestDiary\bin\Debug\x86\*"; DestDir: "{app}";Flags: ignoreversion
Source:"C:\Users\Dwight\source\repos\TestDiary\TestDiary\bin\Debug\System.Data.SQLite.dll";DestDir: "{app}";Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files