Я нашел много вопросов по этой проблеме, но не нашел ответов. У меня довольно странная проблема. Когда я добавляю 32-битную ссылку для System.Data.SQLite
в мой проект, он работает только на платформе x86, и это должно быть хорошо для меня, так как мое приложение будет работать только на 32-битной Windows. Но когда я пытаюсь запустить приложение на 32-битной Windows, оно выдает исключение Could not load file or assembly 'System.Data.SQLite'
. Затем я скачал 64-битную версию System.Data.SQLite dll
. Тогда я мог бы начать отладку с ЛЮБОЙ целевой платформой ЦП, но не смог запустить приложение на моей 32-битной XP с такой же ошибкой Could not load file or assembly 'System.Data.SQLite'
.
Я немного схожу с ума. Я не знаю, имеет ли это какое-либо значение, я не вижу ничего, но целевой платформой для моего приложения является .NET 4.0, и я попробовал каждую комбинацию System.Data.SQLite
(.NET 2.0, .NET 3.5, .NET 4.0) 32-битная и 64-битная версия, ничего не помогает. Вот как выглядит мой конфигурационный файл:
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="VetStationConnection" connectionString="Data Source=VeterinaryStation.s3db" providerName="System.Data.SQLite.SQLiteFactory"/>
</connectionStrings>