пакет dotConnect для SQLite не работает для 64-битного проекта С# в VS2013?

Это дополнительный вопрос от

  http://stackoverflow.com/questions/36166266/sqlite3-dll-cannot-be-used-in-c-sharp-application-in-vs2013-on-win-7/36169278#36169278

Я установил dotConnect.Express.for.SQLite из

https://www.nuget.org/packages/dotConnect.Express.for.SQLite/

Теперь для 32-битного проекта C# это сработало. Но для x64 я получил ошибку:

 An unhandled exception of type 'System.IO.FileLoadException' occurred in XMR.UserModel.dll

  Additional information: Could not load file or assembly 'Devart.Data.SQLite, Version=5.2.457.0, Culture=neutral, PublicKeyToken=09af7300eec23701' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

кажется, что .net нужна версия x64, но установленный «dotConnect» 32-битный?

Какие-либо предложения ?


person Lily    schedule 23.03.2016    source источник


Ответы (1)


Сборки dotConnect для SQLite создаются с параметром /platform:anycpu. Таким образом, вы можете использовать сборки провайдера на любой платформе (x86 или x64). Дополнительные сведения см. на странице http://msdn.microsoft.com/en-us/library/zekwfyz4.aspx.

Однако вам необходимо убедиться, что вы используете совместимую версию библиотеки движка sqlite3.dll. Версия библиотеки движка нужной емкости развертывается во время установки настольного dotConnect для SQLite. Чтобы получить обе версии (x86 и x64) sqlite3.dll, установите настольную версию dotConnect для SQLite Express с https://www.devart.com/dotconnect/sqlite/download.html. По умолчанию установка помещает эти файлы сюда:

  • C:\Program Files (x86)\Devart\dotConnect\SQLite\sqlite3.dll

  • C:\Program Files (x86)\Devart\dotConnect\SQLite\x64\sqlite3.dll

При развертывании создайте папку с именем "x86" (без кавычек) или "x64" (без кавычек) и поместите ее в папку со сборкой вашего приложения. Это первое место, где dotConnect для SQLite будет искать sqlite3.dll.

person Devart    schedule 24.03.2016