System.Data.SqlServerCe.dll SQL Server CE 3.5 отсутствует ссылка после создания файла.exe с помощью InstallShield Limited Edition Project
Я использую VS 2013 с InstallShield Limited Edition Project.
Все отлично работает в среде разработки, где я создал ссылку на System.Data.SqlServerCe.dll
После того, как я сгенерировал файл.exe и установил свое приложение, он не может найти ссылку на SQL Server CE 3.5, поэтому автоматически получает ссылку на SQL Server CE 4.0 и выдает ошибку.
Несовместимая версия базы данных. Если это был совместимый файл, запустите ремонт. Для других случаев обратитесь к документации. [Версия БД = 4000000, Запрошенная версия = 3505053, Имя файла = \?\C:\Users\someuser\AppData\Local\testapp\testdb.sdf ]
Я попытался просмотреть эту статью в MSDN, но не могу найти вкладку публикации в свойствах моего проекта.
Кроме того, я развертываю System.Data.SqlServerCe.dll
и все 7 32-битных версий SQL Server CE 3.5 dll с моей настройкой.
sqlceca30.dll
sqlcecompact30.dll
sqlceer30en.dll
sqlceme30.dll
sqlceoledb30.dll
sqlceqp30.dll
sqlcese30.dll
2 ответа
Проблема заключалась в том, что когда я пытался развернуть MSI-пакет с помощью InstallShield, он использовал другие настройки сборки (x64), чем мои текущие настройки (x86), из-за чего мое приложение получало ссылку на файлы x64 Sql Server CE 4.0. Так что это было исправлено путем изменения параметра компиляции Singleimage.
Нет, проблема в том, что файл вашей базы данных имеет формат 4.0. Как видно из сообщения об ошибке, движок пытается открыть файл 3,5, но вместо этого получает файл 4,0. Итак, ваше приложение использует двигатель 3,5.