Помимо копирования драйвера БД .dll с вашим приложением, вам также может понадобиться зарегистрировать DbProviderFactory.
Обычно установщик также регистрирует имя поставщика данных в файле .NET machine.config
,так что ADO.NET может преобразовать строку имени поставщика в фактическое имя сборки.Вместо этого вы можете добавить это прямо в файл app.config.У меня нет примера SQLite, но он есть в моем app.config для MySql:
<configuration>
...
<system.data>
<DbProviderFactories>
<clear/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</DbProviderFactories>
</system.data>
...
</configuration>
Вы можете получить правильный элемент конфигурации для SQLite из вашего machine.config на компьютере, который имеетдрайвер установлен правильно:
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config
Также обратите внимание, что явключите элемент «clear» в мою конфигурацию выше, потому что, если бы DbProviderFactory уже был зарегистрирован на machine.config, он бы выдал исключение.Поэтому я очищаю их все и просто добавляю те, которые нужны моему приложению.Элемент «clear» можно опустить, если вы уверены, что на машинах не установлен драйвер БД.