Рейтинг:
2
Graeme_Grant
Вам нужно вручную добавить SQLite.Interop.dll
файл и папка основного проекта вашего решения для используемого типа сборки. Когда вы будете готовы к публикации, проверьте и попросите своего установщика включить их. Вы можете найти файл и папки в разделе packages\System.Data.SQLite.Core.1.0.106.0\build
папка решения.
Member 13199484
Я добавляю эти библиотеки в папку bin и говорю vs скопировать их в выходные данные.
но для SQLite.Interop.dll когда я добавляю его и перестраиваю проект, он исчезает.
Graeme_Grant
Вы добавляете их в проект, а не в папку bin, и устанавливаете свойства для добавления, если они более новые. при компиляции приложения файлы будут скопированы как часть процесса сборки.
Member 13199484
Я добавляю dll ничего не меняю приложение все еще не работает
Graeme_Grant
Это работает - я делаю это с помощью своих собственных проектов и установки ClickOnce...
Добавьте папки x86 и x64 в ваш основной проект и добавьте существующие папки. SQLite.Interop.dll
файл (не путайте их) и установите свойство проекта "копировать" для каждого из них. (боковое примечание: одно из моих приложений имеет более 200 проектов, и один из них является основным проектом приложения, поэтому я добавляю в него папки и файлы). Теперь (release) создайте приложение и убедитесь, что папки и файлы правильно скопированы в папку bin. Как только они это сделают, теперь настройте свой установщик так, чтобы он правильно копировал файлы. Теперь вы готовы к публикации...
У меня есть статья о том, как сделать "тихий" ClickOnce и подводных камней, чтобы избежать: Бесшумный установщик ClickOnce для Winform & WPF в C# & VB[^]
В настоящее время я работаю над статьей SQLite, но она еще не закончена. Я отметил вашу проблему и рассмотрю ее в одном из разделов статьи. Когда она будет опубликована? Хороший вопрос! Я работаю над этим между работой и ответами на вопросы здесь. Это довольно всеобъемлющая и займет немного больше времени, чтобы закончить. Так что точной даты публикации нет, извините.
Member 13199484
Пожалуйста, не могли бы вы удалить мой компьютер и проверить проект?
Graeme_Grant
Извините, но я не могу этого сделать. Пожалуйста, внимательно прочитайте решение еще раз и дополнительные комментарии, которые я дал выше. Проверьте каждый шаг очень тщательно, чтобы убедиться, что вы делаете их правильно. "Отмерь два раза, отрежь один раз", как говорится... Если вы это сделаете, это сработает. :)
Member 13199484
спасибо я прочитаю его еще раз и сделаю это шаг за шагом
Member 13199484
ладно у меня есть маленький вопрос:
я вручную добавляю SQLite.Interop.dll в папки x64 и x86 в папке bin
потом в моем проекте. должен ли я нажать кнопку Добавить->существующий элемент и исследовать SQLite.Interop или просто в панели решений -> показать папку в explore для dll и щелкнуть правой кнопкой мыши, а затем включить в проект?
и когда я перестраиваю проект SQLite.Interop.dll автоматически удаляется из папки bin.
и теперь я перезапускаю это внутри папки bin после перестройки другой папки bin добавленной так что у меня есть папка bin внутри папки bin
Graeme_Grant
"вручную добавьте SQLite.Interop.dll в папки x64 и x86 в папке bin" ... это твоя проблема, а не твоя.
Пожалуйста, внимательно прочитайте мое решение выше еще раз и дополнительную информацию выше. Добавьте их в проект, а не в папку bin.
Member 13199484
я делаю это и для того, чтобы быть в безопасности, лол.
Graeme_Grant
Если вы добавите проект в решение, то те, которые вы вручную добавите в папку bin, будут автоматически заменены сборкой. Во-вторых, процесс публикации установщика не будет видеть файлы, которые вы вручную поместили в папку bin. Процесс публикации установщика смотрит только на проект. Так бессмысленно делать то, что вы делаете...